二维码透明背景改为白色背景
来源:互联网 发布:淘宝海外购流程 编辑:程序博客网 时间:2024/04/28 13:16
本文来自http://blog.csdn.net/u012972188 ,引用必须注明出处!
二维码透明背景改为白色背景
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客
/** * 生成二维码图片方法 * */ public Bitmap Create2DCode(String str) throws WriterException { BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 320,320); int width = matrix.getWidth(); int height = matrix.getHeight(); int[] pixels = new int[width * height]; for (int y = 0; y < height; y++) { for(int x = 0; x < width; x++){ if(matrix.get(x, y)){ pixels[y * width + x] = 0xff000000; } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; }
使用上面的方法生成的二维码图片没有白色背景,所以我保存完图片文件后,在预览时由于手机的背景是黑色的,就看不见二维码了,那么如何在生成二维码PNG图片时就加上一个白色背景
这里提供了两种解决方案:
1.第一种解决方案治标不治本,不建议使用。通常我们是使用 imageView 来显示图片的,这是你可以imageView中添加个背景色就可以解决问题了,具体代码如下:
myImageView.setBackgroundColor(new Color().WHITE);2.第二种解决方案,可以从本质解决这个问题:之所以预览时背景为黑色。是因为生成二维码时,我们只使用一种颜色,那就是黑色(0xff000000)。当有数据时,我们绘制了一个个小黑点,没有数据时,我们是我们什么也没有做!而预览时默认背景使用的也是黑色,就因为这样我们保存的图片在预览时就只能看到一团黑了!接下来就直接上代码了.
其实代码很简单只需在没有数据是,绘制白色即可找到下面代码:
if(matrix.get(x, y)){ pixels[y * width + x] = 0xff000000; }把其替换为下面代码就可以了,是不是很简单呢?
if(matrix.get(x, y)){ pixels[y * width + x] = 0xff000000; }else{pixels[y * width + x] = 0xFFFFFFFF; }
- 二维码透明背景改为白色背景
- Photoshop中怎么把白色背景改为黑色背景
- 图片的白色背景变透明
- 在图像中绘制透明白色背景
- C#把白色背景变成透明
- ps怎么把白色背景变透明
- 白色边框透明背景的自定义图片背景
- PS怎么让图的白色背景变透明?
- Photoshop把应用程序图标白色背景变成透明
- iframe 背景设透明 国内某浏览器 为白色解决办法
- Qt处理照片实现白色背景转透明
- PS将android图标白色背景变透明
- IE7下的浮动弹出框背景透明,背景为黑色改为透明
- Unity中将图片改为支持透明背景模式
- 透明背景
- 背景透明
- 背景透明
- 透明背景
- 1019. General Palindromic Number (20)
- linux版本排名
- Java 之 Date 和 Calendar 实例
- IOS图片PNG Crush error,
- MySQL异地备份策略容灾脚本--shell
- 二维码透明背景改为白色背景
- Linux 文件操作 open,lseek,read,write,close
- 6.3 Inline Temp(内联临时变量)
- c, c++用makefile编译工程
- 每天一个linux命令,包含最常用的几十个命令的详细使用,让您快速掌握Linux!
- 使用bat文件开启关闭oracle服务
- javascript 删除前提示是否保存
- mysql data文件夹下的ibdata1 文件作用
- 第14周项目1--数组大折腾