Aur*_*uro 6 java android zxing
我正在为我的Android应用程序使用Journeyapp的ZXing Android Embedded库,我可以使用以下代码生成一个简单的QR代码
private void init() {
ImageView qrImageView = (ImageView) findViewById(R.id.qr_image_view);
qrImageView.setImageBitmap(generateQRBitMap("a"));
}
private Bitmap generateQRBitMap(final String content) {
Map<EncodeHintType, ErrorCorrectionLevel> hints = new HashMap<>();
hints.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.H);
QRCodeWriter qrCodeWriter = new QRCodeWriter();
try {
BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, 512, 512, hints);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
bmp.setPixel(x , y, bitMatrix.get(x,y) ? Color.BLACK : Color.WHITE);
}
}
return bmp;
} catch (WriterException e) {
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
现在我知道我可能要为此编写一个自定义编码器,但我真的不知道从哪里开始.本BitMatrix类总是创建一个正方形QR码,但有什么,我可以用它来创建不规则形状?
尝试创建两个 QRCode。一个应该是随机的,称之为 A。一个应该包含数据,B。放大 A,并扭曲它(模糊即可)。创建一个对于图像形状透明且边缘为白色的白色矢量。将此图像叠加到 QRCode A 上,然后将 B 叠加在上面。
希望你能从中找出一些代码,P
PS 如果你这样做,就把它变成一个图书馆!