安卓开发

当前位置:首页 >> 开发资料 已经有 9 人觉得本文很赞,如果本文对您有帮助,请支持我们,我们会做的更好

    安卓生成二维码

    • 来源:admin
    • 作者:管理员
    • 时间:2012-10-01
    • 点击:11456
    • 收藏本文

        在安卓开发中我们可以识别二维码,那么在安卓开发中用安卓生成二维码如何实现呢,其实安卓生成二维码就是将一段文字生成一个二维码图片,这样的需求在开发中或许会遇到,本文介绍在安卓开发中如何生成二维码的核心代码。

        安卓生成二维码主要通过第三方包zxing来实现,ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码

    public Bitmap Create2DCode(String str) throws WriterException {
        // 生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致无法识别
        BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 400, 400);
        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;
    }

    以下给部分说明(这里的是简述,详细请参看:关于ALPHA_8,ARGB_4444,ARGB_8888,RGB_565 ):
        android.graphics.Bitmap.Config 的枚举值 ALPHA_8,ARGB_4444,ARGB_8888,RGB_565代表什么?
        1.ALPHA_8:数字为8,图形参数应该由一个字节来表示,应该是一种8位的位图
        2.ARGB_4444:4+4+4+4=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.
        3.ARGB_8888:8+8+8+8=32,图形的参数应该由四个字节来表示,应该是一种32位的位图.
        4.RGB_565:5+6+5=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.

    希望本文能让读者明白安卓生成二维码的方法,解决读者的疑惑,感谢阅读本文

     

     


    本文为Android开发学习网原创/整理,未经允许不得转载,如需转载请联系:androidStudynet@126.com



    读后点评 感谢支持 我的建议
公告信息
    本站安卓版APP正式上线,欢迎下载
本站提供的android教程仅用于android培训,对任何法律问题及风险不承担任何责任 本站部分内容来自网络,如有侵权,请联系本站 站点地图
广告/友情链接请联系:QQ:416225054 Email:androidstudynet@126.com 安卓版:下载 QQ群:480637276