Android生成二维码及添加logo
2017-01-09 16:11
260 查看
@Override public Bitmap generateBitmap(String content, int width, int height) { QRCodeWriter qrCodeWriter = new QRCodeWriter(); Map<EncodeHintType, String> hints = new HashMap<>(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8");//默认 // hints.put(EncodeHintType.MARGIN, "1");//无白色边框 try { BitMatrix encode = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, width, height, hints); int[] pixels = new int[width * height]; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { if (encode.get(j, i)) { pixels[i * width + j] = 0x00000000; } else { pixels[i * width + j] = 0xffffffff; } } } return Bitmap.createBitmap(pixels, 0, width, width, height, Bitmap.Config.RGB_565); } catch (WriterException e) { e.printStackTrace(); } return null; } @Override public Bitmap addLogo(Bitmap qrBitmap, Bitmap logoBitmap) { int qrBitmapWidth = qrBitmap.getWidth(); int qrBitmapHeight = qrBitmap.getHeight(); int logoBitmapWidth = logoBitmap.getWidth(); int logoBitmapHeight = logoBitmap.getHeight(); Bitmap blankBitmap = Bitmap.createBitmap(qrBitmapWidth, qrBitmapHeight, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(blankBitmap); canvas.drawBitmap(qrBitmap, 0, 0, null); canvas.save(Canvas.ALL_SAVE_FLAG); float scaleSize = 1.0f; while ((logoBitmapWidth / scaleSize) > (qrBitmapWidth / 3.5) || (logoBitmapHeight / scaleSize) > (qrBitmapHeight / 3.5)) { scaleSize *= 2; } float sx = 1.0f / scaleSize; canvas.scale(sx, sx, qrBitmapWidth / 2, qrBitmapHeight / 2); canvas.drawBitmap(logoBitmap, (qrBitmapWidth - logoBitmapWidth) / 2, (qrBitmapHeight - logoBitmapHeight) / 2, null); canvas.restore(); return blankBitmap; }
相关文章推荐
- Android中使用ZXing生成二维码(支持添加Logo图案)
- Android:使用ZXing生成二维码(支持添加Logo图案)
- Android:使用ZXing生成二维码(支持添加Logo图案)
- Android 生成二维码 带LOGO的二维码 条形码
- 用ZXING生成二维码的工具类(可以去掉白边,添加logo)
- Android生成带LOGO图片二维码的方法
- Android利用ZXing生成带LOGO的二维码图片
- 生成二维码(中间带logo) android
- java生成二维码,可添加logo和文字
- Android生成带LOGO图片二维码的方法
- C# winform通过ThoughtWorks.QRCode生成二维码解码可以添加logo
- Android 生成带有Logo的二维码
- 5.17学习内容 android判断软键盘状态、系统键盘监控、生成中间logo的二维码
- Android 中生成普通二维码、中心Logo 二维码、以及扫描解析二维码
- Java生成二维码可添加logo和文字功能
- js jquery 生成二维码 jquery.qrcode.js,并在中间添加logo图片
- Android 使用zxing包生成中间有logo的二维码图片
- [开源]C#二维码生成解析工具,可添加自定义Logo
- Android 生成带Logo的二维码或普通的二维码,后续将会推出一个java exe二维码生成插件
- 生成二维码 及 添加外边框和中间logo