zxing生成的二維碼(bitmap)保存到sdcard一團黑解決辦法

android zxing生成二維碼是bitmap對象,如果保存bitmap到sdcard查看的時候會發現圖片是一片漆黑。

解決方法:

Bitmap qrCodeBitmap = EncodingHandler.createQRCode(contentString, 500);在這句代碼中,

ctrl+左鍵點擊createQRCode,查看EncodingHandler中的createQRCode方法的代碼實現。

將以下代碼:

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] = BLACK;
}
}
}

添加幾句,改爲:

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] = BLACK;
}else{
pixels[y * width + x] = WHILTE;//其中WHILTE是我自己定義的一個靜態變量,值爲0xffffffff(即白色)

//和BLACK(0xff000000黑色)一樣。這樣就可以使得圖片黑白分明瞭。
}
}
}

修改後,可正常顯示zxing保存下來的二維碼圖片:


所借鑑的原文:http://blog.csdn.net/zjx_android/article/details/17373237

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章