zxing qr区域判断_如何在Java中使用Zxing和JFreeSVG创建QR Code SVG?

zxing qr区域判断

在本文中,我们将研究如何使用Zxing QR代码生成库和JFreeSVG库在Java中创建QR Code SVG图像。

QR码生成

下面的代码使用Zxing库创建一个表示QR Code的java.awt.image.BufferedImage对象:

 public static BufferedImage getQRCode(String targetUrl, int width, int height) { try {        Hashtable<EncodeHintType, Object> hintMap = new Hashtable<>();        hintMap.put(EncodeHintType.ERROR_CORRECTION,            ErrorCorrectionLevel.L);        QRCodeWriter qrCodeWriter = Hashtable<>();        hintMap.put(EncodeHintType.ERROR_CORRECTION,            ErrorCorrectionLevel.L);        QRCodeWriter qrCodeWriter = Hashtable<>();        hintMap.put(EncodeHintType.ERROR_CORRECTION,            ErrorCorrectionLevel.L);        QRCodeWriter qrCodeWriter = new QRCodeWriter();        BitMatrix byteMatrix = qrCodeWriter.encode(targetUrl,            BarcodeFormat.QR_CODE, width, height, hintMap); QRCodeWriter();        BitMatrix byteMatrix = qrCodeWriter.encode(targetUrl,            BarcodeFormat.QR_CODE, width, height, hintMap); int CrunchifyWidth = byteMatrix.getWidth();        BufferedImage image = CrunchifyWidth = byteMatrix.getWidth();        BufferedImage image = new BufferedImage(CrunchifyWidth,            CrunchifyWidth, BufferedImage.TYPE_INT_RGB);        image.createGraphics();        Graphics2D graphics = (Graphics2D) image.getGraphics();        graphics.setColor(Color.WHITE);        graphics.fillRect( BufferedImage(CrunchifyWidth,            CrunchifyWidth, BufferedImage.TYPE_INT_RGB);        image.createGraphics();        Graphics2D graphics = (Graphics2D) image.getGraphics();        graphics.setColor(Color.WHITE);        graphics.fillRect( BufferedImage(CrunchifyWidth,            CrunchifyWidth, BufferedImage.TYPE_INT_RGB);        image.createGraphics();        Graphics2D graphics = (Graphics2D) image.getGraphics();        graphics.setColor(Color.WHITE);        graphics.fillRect( 0 , 0 , CrunchifyWidth, CrunchifyWidth);        graphics.setColor(Color.BLACK); , CrunchifyWidth, CrunchifyWidth);        graphics.setColor(Color.BLACK); for ( int i = 0 ; i < CrunchifyWidth; i++) { for ( int j = 0 ; j < CrunchifyWidth; j++) { if (byteMatrix.get(i, j)) {                    graphics.fillRect(i, j, 1 , 1 );                }            }        } );                }            }        } return image;    } image;    } catch (WriterException e) {        e.printStackTrace(); throw new RuntimeException( "Error getting QR Code" );    } } );    } } 

转换为SVG

下面的代码片段使用JFreeSVG将java.awt.image.BufferedImage对象转换为SVG:

 public static String getQRCodeSvg(String targetUrl, int width, int height, boolean withViewBox){    SVGGraphics2D g2 = new SVGGraphics2D(width, height);    BufferedImage qrCodeImage = getQRCode(targetUrl, width, height);    g2.drawImage(qrCodeImage, SVGGraphics2D(width, height);    BufferedImage qrCodeImage = getQRCode(targetUrl, width, height);    g2.drawImage(qrCodeImage, SVGGraphics2D(width, height);    BufferedImage qrCodeImage = getQRCode(targetUrl, width, height);    g2.drawImage(qrCodeImage, 0 , 0 , width, height, null );    ViewBox viewBox = );    ViewBox viewBox = null ; if ( withViewBox ){        viewBox = new ViewBox( 0 , 0 ,width,height);    } ,width,height);    } return g2.getSVGElement( null , true , viewBox, null , null ); } ); } 

完整的代码可以在这里找到。

翻译自: https://www.javacodegeeks.com/2019/04/create-code-svg-using-zxing-jfreesvg-java.html

zxing qr区域判断

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

审批流_怎样让审批工作流和应用数据分离?

在企业行政管理中&#xff0c;审批是最常遇到的场景。传统管理中&#xff0c;人们会有纸张审批&#xff0c;而现在市场上已有大量的线上审批软件&#xff0c;他们帮助企业完成审批电子化&#xff0c;审批速度更快&#xff0c;信息也能留档。然而大部分审批软件都不够灵活&#…

java 反射api_反射是最重要的Java API

java 反射api前几天我在想-这是最重要的Java API。 哪种SE和EE API可以使大多数Java生态系统成为可能&#xff0c;而哪些API不能重新创建为第三方库。 正如您可能已经猜到标题一样&#xff0c;我认为它是Reflection API 。 是的&#xff0c;它不可避免地是每个项目的直接或间接…

前端校验表单项内容是否合规的JS脚本代码

用途&#xff1a;校验ip地址的格式 输入&#xff1a;strIP&#xff1a;ip地址 返回&#xff1a;如果通过验证返回true,否则返回false&#xff1b; */ function isIP(strIP) { if (isNull(strIP)) return false; var re/^(\d).(\d).(\d).(\d)$/g //匹配IP地址的正则表达式 if(r…

过程(栈帧结构是干货)

【0】写在前面 过程&#xff08;栈帧结构是干货&#xff09;&#xff1b;本文总结于csapp&#xff0c; 加上自己的理解&#xff1b;【1】栈帧结构 每个函数的每次调用&#xff0c;都有它自己独立的一个栈帧&#xff0c;这个栈帧中维持着所需要的各种信息。 过程调用&#xf…

山东小学信息技术课本 python 五年级_山东教育出版社小学信息技术五年级上册教案 全册.doc...

山东教育出版社小学信息技术五年级上册教案 全册电子备课教学案学年度 第一学期学科 信息技术年级 五年级姓名教师个人备课情况统计一览表 项目?精备课二次备课课堂检测课后反思交流平台 篇数月份第( )月第( )月第( )月第( )月备注&#xff1a;为便于自查&#xff0c;此表由教…

apache ranger_Apache Ranger插件的美丽简洁

apache ranger如果您在这里&#xff0c;您已经知道什么是Apache Ranger 。 这是在Hadoop框架中管理安全性的最流行&#xff08;即使不是唯一&#xff09;的方法。 它与Active Directory&#xff0c;Kerberos和其他各种身份验证集成在一起&#xff0c;但是我认为最有趣的功能是其…

可重定位目标文件

【0】GCC将源代码转化成可执行代码的流程 &#xff08;1&#xff09;C预处理器cpp扩展源代码&#xff0c;插入所有用#include命令指定的文件&#xff0c;并扩展声明的宏&#xff1b;&#xff08;2&#xff09;编译器ccl产生两个源代码的汇编代码&#xff1a;*.s&#xff1b;&a…

经典颜色的RGB值

红 RED    品红Magenta&#xff08;热情&#xff09;    CMYK&#xff1a;C15 M100 Y20 K0   RGB: R207 G0 B112    洋红Carmine&#xff08;大胆&#xff09;   CMYK: C100 M0 Y60 K10   RGB: R215 G0 B64    宝石红Ruby&#xff08;富贵&#xff09;   CMYK…

python中for x in range_python教程:对 [lambda x: x*i for i in range(4)] 理解

题目&#xff1a;lst [lambda x: x*i for i in range(4)]res [m(2) for m in lst]print res实际输出&#xff1a;[6, 6, 6, 6]想要输出 [0, 2, 4, 6] 应该怎么改&#xff1f;如下&#xff1a;lst [lambda x, ii: x*i for i in range(4)]res [m(2) for m in lst]print res这…

adf.test_在ADF 12.2.1.3中使用基于JSON的REST Web服务

adf.test以前&#xff0c;我曾发布过有关在ADF中使用基于ADF BC的REST Web服务的信息。 现在&#xff0c;本文讨论使用通用数据控件使用基于JSON的REST Web服务。 您还可以查看有关Web服务的先前文章&#xff0c;以获取更多信息。 在ADF 12.2.1中使用应用程序模块快速创建SOA…

JSON字符串封装成Bean对象/JSON串反序列化成实体类对象/JSON字符串转换成Java对象

文章目录使用阿里巴巴的 JSON使用 ObjectMapperJSON字段与实体类属性不一致首先&#xff0c;我们建立一个实体类&#xff0c;这里简单定义了 name、sex、age 三个属性&#xff0c;以及 get、set、tostring方法。public class Student {private String name;private String sex;…

端到端的地址翻译(虚拟地址是怎样取到相应高速缓存的数据的?)

【0】写在前面-为什么需要虚拟存储器? 0.1&#xff09;定义&#xff1a;虚拟存储器其实就是借用了磁盘地址空间&#xff0c;还记得当初我们安装CentOS&#xff0c;划分的swap 文件系统吗&#xff1f; 0.2&#xff09;VM简化了链接和加载、代码和数据共享&#xff0c;以及应用…

python gevent教程_Python的gevent框架的入门教程

Python通过yield提供了对协程的基本支持&#xff0c;但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第三方库&#xff0c;通过greenlet实现协程&#xff0c;其基本思想是&#xff1a;当一个greenlet遇到IO操作时&#xff0c;比如访问网络&#xff0c…

qa/qc_专业QA如何实施可靠的CI / CD管道?

qa/qc过时的传统软件开发方法并不能接管不断升级的市场趋势&#xff0c;并且这些方法缺乏解决方案&#xff0c;无法解决引入“ 持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09; ”的快速软件发布需求的增长。 除了CI / CD之外&#xff0c;您还需要具有…

程序员分类

1.优秀的debug能力 10K程序员&#xff1a;实现功能就不错了 20K程序员&#xff1a;编程我最牛&#xff0c;debug&#xff1f;我不太会&#xff01; 30K程序员&#xff1a;编程有点慢&#xff0c;debug快速搞定&#xff0c;回家睡觉&#xff01; 40K程序员&#xff1a;基本不写…

三菱q系列plc连接电脑步骤_三菱Q系列PLC与三菱变频器的CC-link通讯技术(我的学习笔记)...

三菱变频器可以通过CC-LINK的接线进行控制&#xff08;但需要另购买选件FR-A7NC&#xff0c;这选件是与变频器配套的通讯适配器&#xff0c;插在三菱变频器的选件插槽中&#xff09;&#xff0c;从而可以减少接线提高效率减少错误&#xff0c;接CC-LINK只需4根线就可以完全控制…

react提交数据到数据库_React型关系数据库事务

react提交数据到数据库Spring Framework最近宣布将提供对React式事务管理的支持 。 让我们深入研究它对R2DBC&#xff08;SQL数据库访问的React式规范&#xff09;如何工作。 事务管理是一种模式&#xff0c;而不是特定于技术的。 从这个角度来看&#xff0c;它的属性和运行时…

实模式切换到保护模式,为什么要开启A20地址线(系统升级产生的兼容性问题)

【-1】写在前面&#xff1a; 以下部分内容总结于 http://blog.csdn.net/ruyanhai/article/details/7181842 complementary: 兼容性是指运行在前期CPU&#xff0c;如8086/8088上的的程序&#xff0c;也可以运行在其以后的处理器&#xff0c;如80286上&#xff1b; 【0】看看in…

Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?

先来解释一下这三种编码的历史吧&#xff1a; ANSI&#xff1a;最早的时候计算机ASCII码只能表示256个符号&#xff08;含控制符号&#xff09;&#xff0c;这个字符集表示英文字母足够&#xff0c;其中&#xff0c;我们键盘上可见的符号的编码范围是从32到126&#xff08;大小…

python编程、abc最大值_Python中abc

import abc指定metaclass属性将类设置为抽象类&#xff0c;抽象类本身只是用来约束子类的&#xff0c;不能被实例化class Animal(metaclassabc.ABCMeta): # 统一所有子类的方法abc.abstractmethod # 该装饰器限制子类必须定义有一个名为talk的方法def say(self):print(‘动物基…