转自:http://www.maxiaoguo.com/shipin/235.html

zxing是google的一个开源二维码项目,目前基本上和二维码打交道的东西,都会用到它. 最近项目中用到了android手机需要根据提供的字符串生成二维码图片,之前用zxing做过二维码解码,编码还没做过,看了一些demo都是用到了zxing的j2se包的内容,这个在android或者其他平台上显然无法实现,所以我们要利用zxing生成二维矩阵,然后根据android平台的提供的api来生成图片.

[java] view plain copy
  1. /**
  2. *用字符串生成二维码
  3. *@paramstr
  4. *@authorzhouzhe@lenovo-cw.com
  5. *@return
  6. *@throwsWriterException
  7. */
  8. publicBitmapCreate2DCode(Stringstr)throwsWriterException{
  9. //生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
  10. BitMatrixmatrix=newMultiFormatWriter().encode(str,BarcodeFormat.QR_CODE,300,300);
  11. intwidth=matrix.getWidth();
  12. intheight=matrix.getHeight();
  13. //二维矩阵转为一维像素数组,也就是一直横着排了
  14. int[]pixels=newint[width*height];
  15. for(inty=0;y<height;y++){
  16. for(intx=0;x<width;x++){
  17. if(matrix.get(x,y)){
  18. pixels[y*width+x]=0xff000000;
  19. }
  20. }
  21. }
  22. Bitmapbitmap=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
  23. //通过像素数组生成bitmap,具体参考api
  24. bitmap.setPixels(pixels,0,width,0,0,width,height);
  25. returnbitmap;
  26. }


以下是运行结果,这里最好让背景是白色才能看出效果,因为遍历矩阵以后,是把有标记的点描黑

更多相关文章

  1. Android中汉字转拼音的内存优化处理
  2. Android中SparseArray性能优化的使用方法
  3. Android提高十八篇之自定义Menu(TabMenu) [转]
  4. Android快速实现二维码扫描--Zbar
  5. android 小游戏 ---- 数独(三)
  6. Android之条形码、二维码扫描框架(非原创)
  7. Android开发之Java设计模式基础篇
  8. Android适配器Adapter的学习(转载)
  9. Android(安卓)opengl 立方体 多纹理

随机推荐

  1. 菜鸟学Android(安卓)之gravity与layout_g
  2. ANE 在 Android(安卓)上的应用
  3. [转]Android Power Management
  4. GestureOverlayView
  5. [转]JS调用Android里面的方法,Android调用
  6. Android:Serializable接口和Parcelable接
  7. Android之ConstraintLayout(依赖约束)布
  8. Android图形系统的分析与移植 -- 二、And
  9. 零打碎敲学Android(一)—用什么来替代Gra
  10. ScrollView实现界面自动滚动