• 使用zxing生成二维码


    public static Bitmap Create2DCode(String str) throws WriterException {
                    // 生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
                    Hashtable<EncodeHintType,String> hints = new Hashtable<EncodeHintType,String>();
                    hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
                    BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300,hints);
                   
                    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] = 0xff000000;
                                    }

                            }
                    }

                    Bitmap bitmap = Bitmap.createBitmap(width, height,
                                    Bitmap.Config.ARGB_8888);
                    // 通过像素数组生成bitmap,具体参考api
                    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
                    return bitmap;
            }

  • 相关阅读:
    修改Tomcat的端口号方法
    Java与数据库对应的日期类型
    解决ora-00054 Oracle锁表问题
    qemu+gdb调试内核出现remote ‘g’ packet reply is too long
    构建调试Linux内核网络代码的环境MenuOS系统
    c语言实现简单的hello/hi聊天程序
    traceroute命令研究报告
    c++对象初始化中各构造器的顺序
    嵌入式面试题(1)
    Android驱动笔记(8)——bugreport介绍
  • 原文地址:https://www.cnblogs.com/wangjinming/p/4705986.html
Copyright © 2020-2023  润新知