您的位置:首页 > 移动开发 > Android开发

生成二维码

2016-05-12 21:50 453 查看
//传过去字符串生成二维码图片Bitmap

public Bitmap createQRImage(String url)

{

try

{

//判断URL合法性

if (url == null || "".equals(url) || url.length() < 1)

{

return null;

}

Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();

hints.put(EncodeHintType.CHARACTER_SET, "utf-8");

//图像数据转换,使用了矩阵转换

BitMatrix bitMatrix = new QRCodeWriter().encode(url, BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints);

int[] pixels = new int[QR_WIDTH * QR_HEIGHT];

//下面这里按照二维码的算法,逐个生成二维码的图片,

//两个for循环是图片横列扫描的结果

for (int y = 0; y < QR_HEIGHT; y++)

{

for (int x = 0; x < QR_WIDTH; x++)

{

if (bitMatrix.get(x, y))

{

pixels[y * QR_WIDTH + x] = 0xff000000;

}

else

{

pixels[y * QR_WIDTH + x] = 0xffffffff;

}

}

}

bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT, Bitmap.Config.ARGB_8888);

bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);

//显示到一个ImageView上面

}

catch (WriterException e)

{

e.printStackTrace();

}

return bitmap;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二维码 Android dome