Android平台利用ZXING生成二维码图片

简介:

zxing是google的一个开源二维码项目,目前基本上和二维码打交道的东西,都会用到它. 最近项目中用到了android手机需要根据提供的字符串生成二维码图片,之前用zxing做过二维码解码,编码还没做过,看了一些demo都是用到了zxing的j2se包的内容,这个在android或者其他平台上显然无法实现,所以我们要利用zxing生成二维矩阵,然后根据android平台的提供的api来生成图片.

/** 
     * 用字符串生成二维码 
     * @param str 
     * @author zhouzhe@lenovo-cw.com 
     * @return 
     * @throws WriterException 
     */  
    public Bitmap Create2DCode(String str) throws WriterException {  
        //生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败  
        BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300);  
        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;  
                } else { 
                    pixels[y * width + x] = 0xffffffff; 
                }   
                  
            }  
        }  
          
        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);  
        //通过像素数组生成bitmap,具体参考api  
        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);  
        return bitmap;  
    }  


以下是运行结果,这里最好让背景是白色才能看出效果,因为遍历矩阵以后,是把有标记的点描黑

这一切,需要zxing的core包,在zxing 1.6下测试通过.

相关文章
|
26天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的深度对比
在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。本文旨在通过数据驱动的分析方法,深入探讨这两大操作系统在开发环境、用户界面设计及市场表现等方面的差异。引用最新的行业报告和科研数据,结合技术专家的观点,本文将提供对开发者和市场分析师均有价值的洞见。
|
16天前
|
Java Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【7月更文挑战第8天】在移动应用开发的广阔天地中,Android与iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发环境、用户界面设计、性能优化以及市场覆盖等方面的根本差异,并分析这些差异如何影响项目的成功。通过比较和分析,旨在为开发者在选择平台时提供更全面的视角,帮助他们根据项目需求和目标市场做出更明智的决策。
|
28天前
|
Java 开发工具 Android开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异点,包括编程语言、开发工具、用户界面设计、性能优化以及市场覆盖等方面。通过对这些关键因素的比较分析,旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和目标受众做出明智的平台选择。
|
7天前
|
Java API 开发工具
一个专为Android平台设计的高度可定制的日历库
Calendar库是Android开发的工具,支持RecyclerView和Compose,提供高度定制的日历组件。功能包括:单选/多选/范围日期选择、周/月模式、禁用特定日期、设置边界、自定义视图、每周起始日、滚动方式、热力图、标题和脚注、滑动导航及兼容低版本API。示例应用和源码可在GitHub找到,通过Gradle集成,有详细文档指导。
34 16
|
4天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的对比分析
【7月更文挑战第19天】在移动开发的广阔天地中,安卓与iOS两大阵营各据一方,它们在开发环境、用户界面设计、性能优化等方面展现出独特的魅力与挑战。本文旨在深入探讨这两个平台在技术开发和用户体验上的根本差异,并分析这些差异如何影响开发者的策略和最终用户的选择。通过比较两者的编程语言、工具、框架以及设计理念,我们将揭示各自平台的优势与局限,为开发者提供实用的参考,并为消费者呈现一个更加清晰的平台选择视角。
|
6天前
|
监控 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性、工具和市场趋势
在移动应用开发的广阔舞台上,安卓与iOS两大操作系统扮演着主角。它们各自拥有独特的平台特性、开发工具和市场定位,这些差异深刻影响着开发者的决策和产品的最终形态。本文将深入分析这两大平台的关键技术差异,探讨各自的开发环境和工具集,以及它们在市场上的表现和未来的趋势,为开发者提供一个全面的视角,帮助他们在这两个平台上做出更明智的开发选择。
|
10天前
|
开发工具 Android开发 Swift
安卓与iOS开发环境对比:选择适合你的平台
【7月更文挑战第14天】在移动应用开发的广阔天地中,安卓和iOS两大平台各领风骚。本文将深入探讨这两个系统在开发环境上的差异,从编程语言、工具到生态系统的多维度比较,旨在为开发者提供一份实用的参考指南。无论你是初涉移动开发的新手,还是寻求跨平台解决方案的老手,这篇文章都将助你一臂之力,找到最适合你的开发路径。
|
10天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比:选择合适的平台
【7月更文挑战第14天】本文深入探讨了安卓与iOS开发环境的差异,并分析了选择合适平台的考量因素。通过比较两者的开发工具、编程语言和用户群体,旨在帮助开发者做出明智的决策,以优化资源利用和提升应用性能。文章将提供实用的建议,助力开发者在竞争激烈的应用市场中脱颖而出。
17 2
|
12天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比:选择适合你的平台
【7月更文挑战第11天】在移动应用开发的广阔天地中,安卓与iOS两大平台各据一方。它们不仅在用户群体上有所区别,更在开发环境、工具和生态系统上展现出独特的特色。本文将深入探讨这两个平台的开发环境差异,帮助开发者根据个人技能、项目需求及市场定位做出明智的选择。
32 3
|
15天前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。