今天接到一个需求,所示要把之前生成二维码的背景改为透明色,默认的生成方式一般是二维码为黑色,背景为白色,
修改过程:刚开始以为是Bitmap.createBitmap生成的位图默认背景为白色导致的,所以就考虑生成一个透明的bitmap,再将二维码绘制到上面就OK了,结果看了createBitmap的注释:Returns a mutable bitmap with the specified width and height. Its initial density is as per getDensity. The newly created bitmap is in the sRGB color space.没说默认为白色背景,后面经测试发现bitmap默认确实为透明背景。
这样一来就是就不是bitmap的问题了,要改生成的二维码的方式,其实后来想明白了,二维码就两种颜色,不存在背景什么的,一部分为黑色的二维码部分,一部分为白色的部分组成,这就简单了,只用在生成的时候把白色改为透明色就可以了。
问题很简单,主要就是过程走弯路了。