当前位置: 代码迷 >> Android >> !Android 条码(一维码)生成
  详细解决方案

!Android 条码(一维码)生成

热度:89   发布时间:2016-04-28 01:55:50.0
求助!Android 条码(一维码)生成
如题: 现在普遍流行二维码,但是条码项目中也需要用到,现在遇到一疑惑:

网上搜索Android 生成一维,代码都是如出一辙相互拷贝,测试也可以生成一维码但是和标准的(以微信/支付宝为基准)一维码生成的图片貌似有差异对比如下:

测试使用纯18位数字生成


【图1 是使用如下算法生成的一维码,也是网上广为流传的算法】
 public static Bitmap toBitmap(BitMatrix byteMatrix)    
      { 
          // 定义位图的宽和高 
          int width = byteMatrix.getWidth(); 
          int height = byteMatrix.getHeight(); 
          int[] pixels = new int[width * height];
          for (int y = 0; y < height; y++) {
              for (int x = 0; x < width; x++) {
                  if (byteMatrix.get(x, y)) {
                      pixels[y * width + x] = 0xff000000;
                  }
              }
            }
          Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
          // 通过像素数组生成bitmap,具体参考api
          bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
          return bitmap;  
      }   


/*********************************************************************/

【图2 是使用一个叫“Barcode Generator” 的软件生成的 】

相比之下 图一生成的条码 竖线 要比图2(37条黑色竖线)多的多,在网上我使用在线生成条码也是生成37条黑色竖线,查看支付宝微信生成的条码也是37条竖线,所以图一生成的算法我觉得不妥,还请大神指导 生成图二的条码算法 不胜感激谢谢!
------解决思路----------------------
jar包,前不久从github下载源码弄的
http://download.csdn.net/detail/inquisitive_plus/8441063
例子已经发送了
  相关解决方案