qr码生成_从Java程序生成QR码图像

qr码生成

如果您精通技术和小工具,则必须了解QR码。 这些天,到处都可以找到它-在博客,网站,甚至在某些公共场所。 这在移动应用程序中非常流行,在移动应用程序中,您可以使用QR Code扫描仪应用程序扫描QR Code,它将显示文本或将您重定向到网页(如果是URL)。 我最近遇到了这个问题,发现它非常有趣。 如果您想了解QR Code,可以在Wikipedia QR Code页面上找到很多有用的信息。当我在许多网站中找到此类图像时,我便开始寻找如何使用Java Code生成图像的信息。 我研究了一些在市场上可以作为开源使用的API,发现zxing是最简单和最好的用法。

这是您可以用来通过zxing API创建QR Code图片的程序。

package com.adly.generator;import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;import javax.imageio.ImageIO;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;public class GenerateQRCode {/*** @param args* @throws WriterException* @throws IOException*/public static void main(String[] args) throws WriterException, IOException {String qrCodeText = 'http://www.journaldev.com';String filePath = 'D:\\Pankaj\\JD.png';int size = 125;String fileType = 'png';File qrFile = new File(filePath);createQRImage(qrFile, qrCodeText, size, fileType);System.out.println('DONE');}private static void createQRImage(File qrFile, String qrCodeText, int size,String fileType) throws WriterException, IOException {// Create the ByteMatrix for the QR-Code that encodes the given StringHashtable hintMap = new Hashtable();hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);QRCodeWriter qrCodeWriter = new QRCodeWriter();BitMatrix byteMatrix = qrCodeWriter.encode(qrCodeText,BarcodeFormat.QR_CODE, size, size, hintMap);// Make the BufferedImage that are to hold the QRCodeint matrixWidth = byteMatrix.getWidth();BufferedImage image = new BufferedImage(matrixWidth, matrixWidth,BufferedImage.TYPE_INT_RGB);image.createGraphics();Graphics2D graphics = (Graphics2D) image.getGraphics();graphics.setColor(Color.WHITE);graphics.fillRect(0, 0, matrixWidth, matrixWidth);// Paint and save the image using the ByteMatrixgraphics.setColor(Color.BLACK);for (int i = 0; i < matrixWidth; i++) {for (int j = 0; j < matrixWidth; j++) {if (byteMatrix.get(i, j)) {graphics.fillRect(i, j, 1, 1);}}}ImageIO.write(image, fileType, qrFile);}}

这是此程序创建的QR Code图像文件。 您可以使用移动QR码扫描仪应用程序对其进行测试。 它应该指向JournalDev主页URL。

如果您没有移动应用程序进行测试,请不要担心。 您也可以通过命令行使用zxing API对其进行测试。

我在Windows操作系统上,这是对其进行测试的命令。 如果您使用的是Unix / Linux / Mac OS,请相应地进行更改。

D:\Pankaj\zxing>java -cp javase\javase.jar;core\core.jar com.google.zxing.client.j2se.CommandLineRunner D:\Pankaj\JD.png
file:/D:/Pankaj/JD.png (format: QR_CODE, type: URI):
Raw result:http://www.journaldev.comParsed result:http://www.journaldev.comFound 4 result points.Point 0: (35.5,89.5)Point 1: (35.5,35.5)Point 2: (89.5,35.5)Point 3: (80.5,80.5)


动态QR码生成提示

如果要动态生成QR码,则可以使用Google Charts Tools进行。
对于上述情况,URL为https://chart.googleapis.com/chartchs=125×125&cht=qr&chl=http://www.journaldev.com

祝您编程愉快,别忘了分享!

参考:在Developer Recipes博客上,从我们的JCG合作伙伴 Pankaj Kumar 从Java程序生成QR Code图像 。


翻译自: https://www.javacodegeeks.com/2012/10/generate-qr-code-image-from-java-program.html

qr码生成

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

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

相关文章

jracdrive变频器说明书580_jracdrive变频器err02

A&#xff1a;高性能密封型变频器-防粉尘、防水、防油污、防腐蚀此款高性能变频器&#xff0c;因为其具有防粉尘、防水、防油污、防腐蚀性能&#xff0c;适用于化工厂、印染厂、化纤厂、纺织厂、输送带、机床、水泥厂、制*厂、食品厂等环境恶劣的场合。变频器硬件特点&#xff…

Harris角点检测+sift描述匹配

最近用到&#xff1a;Harris检测图像中边缘处的特征点&#xff0c;并且需要两张图特征点匹配起来。Harris只是一个角点检测的算法&#xff0c;最终只得到特征点坐标&#xff0c;想要匹配需要描述&#xff0c;而Harris是单尺度的&#xff0c;自己写描述函数又有些麻烦。找到MATL…

python辅助脚本教程_微信跳一跳python辅助脚本实例分享

本文主要为大家整理了关于微信跳一跳的辅助脚本内容&#xff0c;这次我们给大家整理的是关于python的脚本内容&#xff0c;一起来学习下。这段时间微信跳一跳这个游戏非常火爆&#xff0c;但是上分又非常的难&#xff0c;对于程序员来说第一个念头就是通过写一个辅助脚本外挂让…

Bug解决方案

一&#xff1a;百度错误代码或者关键字搜索 二&#xff1a;在博客论坛招贴问人 三&#xff1a;向同事或者公司老人请教 四&#xff1a;程序的每个字母逻辑浏览一遍 五&#xff1a;重启电脑 六&#xff1a;环境软件重装 七&#xff1a;回去睡一觉&#xff0c;等待明天早上再看 八…

非Java专家的APM:什么泄漏?

通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序。 开始免费试用&#xff01; 内存&#xff0c;内存&#xff0c;内存... 内存是Java的关键部分&#xff0c;尤其是内存管理。 作为开发人员&#xff0c;内存管理不是您要定期执行…

总结libevent安装方法

1.先用&#xff1a;ls -al /usr/lib | grep libevent 查看是否已安装&#xff0c;如果已安装且版本低于1.3&#xff0c;则先通过&#xff1a;rpm -e libevent —nodeps 进行卸载。 2.下载libevent安装包&#xff1a;libevent-1.4.13-stable.tar.gz&#xff0c;然后解压。 3.切…

opencv中匹配点对的坐标提取

在opencv中&#xff0c;特征检测、描述、匹配都有集成的函数。vector<DMatch> bestMatches;用来存储得到的匹配点对。那么如何提取出其中的坐标呢&#xff1f; int index1, index2;for (int i 0; i < bestMatches.size(); i)//将匹配的特征点坐标赋给point{index1 b…

echarts 弹出放大_Echarts图标增加全屏/放大功能

需求描述&#xff1a;客户爸爸在看某个echarts图表时&#xff0c;图标的数据很多&#xff0c;字看着很小&#xff0c;客户爸爸希望能双击放大某个图表。如下面这个图表字太小&#xff0c;太密。image.png解决方式&#xff1a;网上有不少方式是用Echarts的tool工具先上自定义工具…

Hdoj 1847.Good Luck in CET-4 Everybody! 题解

Problem Description 大学英语四级考试就要来临了&#xff0c;你是不是在紧张的复习&#xff1f;也许紧张得连短学期的ACM都没工夫练习了&#xff0c;反正我知道的Kiki和Cici都是如此。当然&#xff0c;作为在考场浸润了十几载的当代大学生&#xff0c;Kiki和Cici更懂得考前的放…

mexw32与mexw64

关于mex文件 MATLAB的mex文件是一种特征的函数封装形式&#xff0c;这类函数一般由C/C语言编写的&#xff0c;经过MATLAB编译器处理而生成的二进制文件。它可以被MATLAB解释器自动装载并执行的动态链接程序&#xff0c;类似于windows下的dll文件。在使用的时候也可以像普通的.m…

对外汉语语料库有哪些_国内语料库建设一览表

英语学习者语料库(书面语及口语)中国学习者语料库 CLEC(100万)广外、上海交大大学英语学习者口语语料库 COLSEC (5万) 上海交大香港科技大学学习者语料库 HKUST Learner Corpus 香港科技大学中国英语专业语料库 CEME (148万) 南京大学中国英语学习者口语语料库 SECCL (100万) 南…

数据库设计(一对一、一对多、多对多)

关联映射&#xff1a;一对多/多对一 存在最普遍的映射关系&#xff0c;简单来讲就如球员与球队的关系&#xff1b; 一对多&#xff1a;从球队角度来说一个球队拥有多个球员 即为一对多 多对一&#xff1a;从球员角度来说多个球员属于一个球队 即为多对一数据表间一对多关系如下…

oozie与hue整合 执行WC案例报错: 连接10020端口被拒绝

Call From hdp-05/192.168.230.15 to hdp-01:10020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused错误原因没有启动hadoop的history程序JobHistoryServer进程监听端口就是10…

matlab无法读取xls

我首先从C中导出了xls格式的excel表格&#xff0c;又用MATLAB读取时&#xff0c;遇到下面的问题&#xff1a; Error using xlsread (line 251) File E:\matlab_pagram\myGMS\right.xls not in Microsoft Excel Format. 我的读取函数是&#xff1a;labels_right xlsread(righ…

Valhalla项目的价值

我对Valhalla项目的进度一直很感兴趣&#xff0c;但是Brian Goetz最近的信息“ Valhalla项目&#xff1a;目标 ”提高了我的兴趣。 我经常喜欢Goetz的作品&#xff0c;因为他结合了我最想成为技术作者的两个特征&#xff1a;他比他所写的内容更了解他所写的主题&#xff0c;而且…

python里clear和copy_python之字典

通过名字引用值得数据结构.这种结构类型称为映射.字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都存储在一个特定的键里.键可以是数字,字符串甚至是元组.某些情况下,字典比列表更加适用:1.表征游戏棋盘的状态,每个键都是由坐标值组成的元组;2.存储文件修改…

实用类-会员信息

录入会员生日&#xff0c;形式必须是“月/日”&#xff0c;如“09/12”&#xff1b;录入的密码必须在6-10位之间&#xff1b;允许用户重复输入&#xff0c;直到输入正确为止。 1 package demo3;2 3 import java.util.Scanner;4 5 public class Test8 {6 public static void…

GDAL学习总结

GDAL介绍 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。OGR是GDAL项目的一个分支&#xff0c;功能与GDAL类似&#xff0c;只不过…

matlab能用矩阵操作就不要用for循环

1.MATLAB尽量少用for循环来操作矩阵&#xff0c;多用本身的矩阵操作函数 比如&#xff0c;想将矩阵的第三列通过第二列计算得到&#xff0c;以下两种方式得到的结果一致&#xff0c;但不用for更简洁。 a 6; feature_labelnum(:,3) a * sqrt(feature_labelnum(:,2));%第三列…

jsp快到截止日期字体颜色变色_jsp页面中字体变色问题 - Java / Web 开发

jsp页面中字体变色问题 - Java / Web 开发[title]function diyCheck(){var fm document.frmMain;s1fm.YEAR.value;if(s12010){}年 [YEAR]计划 [PLANINOROUT] 问题&#xff1a;当页面中年的值为2009时正常显示&#xff0c;如果年的值为2010时&#xff0c;字体颜色变为红色&…