Java指定链接生成二维码的华丽转身
所需要的jar
包
core-3.1.0.jar
工具类QrCodeUtil.java
package erweima;import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;import javax.imageio.ImageIO;
import javax.swing.filechooser.FileSystemView;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;public class QrCodeUtil {public static void main(String[] args) {// 要生成二维码的链接String url = "http://101.201.101.206:8081/ml/index.jsp";// 指定路径:D:\User\Desktop\testQrcodeString path = FileSystemView.getFileSystemView().getHomeDirectory() + File.separator + "testQrcode";// 指定二维码图片名字String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg";createQrCode(url, path, fileName);}public static String createQrCode(String url, String path, String fileName) {try {Map<EncodeHintType, String> hints = new HashMap<>();hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 400, 400, hints);File file = new File(path, fileName);if (file.exists() || ((file.getParentFile().exists() || file.getParentFile().mkdirs()) && file.createNewFile())) {writeToFile(bitMatrix, "jpg", file);System.out.println("搞定:" + file);}} catch (Exception e) {e.printStackTrace();}return null;}static void writeToFile(BitMatrix matrix, String format, File file) throws IOException {BufferedImage image = toBufferedImage(matrix);if (!ImageIO.write(image, format, file)) {throw new IOException("Could not write an image of format " + format + " to " + file);}}static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException {BufferedImage image = toBufferedImage(matrix);if (!ImageIO.write(image, format, stream)) {throw new IOException("Could not write an image of format " + format);}}private static final int BLACK = 0xFF000000;private static final int WHITE = 0xFFFFFFFF;private static BufferedImage toBufferedImage(BitMatrix matrix) {int width = matrix.getWidth();int height = matrix.getHeight();BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);}}return image;}
}
然后就生成了二维码,即插即用,小巧方便!
Java指定链接生成二维码的华丽转身相关推荐
- java 根据指定链接生成二维码
需求: 就是需要把一个报告网址链接生成二维码,然后渲染在报告中,扫描二维码的时候能访问到这个报告,效果就达到了 1.首先提前需要添加的maven依赖 <!-- https://mvnreposi ...
- java将链接生成二维码工具类
一.添加依赖 <!-- 生成二维码--><dependency><groupId>com.google.zxing</groupId><artif ...
- JAVA实现链接生成二维码
第一步:添加以下maven依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>c ...
- java学习-zxing生成二维码矩阵的简单例子
这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件,也可使用maven添加依赖 <dependency><gro ...
- java根据内容生成二维码
java根据内容生成二维码 一.首先导入jar包:google.zxing.jar jar包可以从maven网站下载:meven仓库 这里可以找到你想要的绝大多数jar包,可以是依赖,也可以是jar包 ...
- java使用zxing生成二维码,可带logo和底部文字
java使用zxing生成二维码,可带logo和底部文字 springboot中整合zxing生成二维码 一.导入依赖 <properties><zxing.version>3 ...
- dom 生成图片和链接生成二维码
1. dom 生成图片 此处使用的是 html2canvas 插件 和canvas2image插件 html2canvas 方法的第二个入参还有很多选项可以配置,详情请看这里这里 html 1 < ...
- java利用zxing生成二维码
什么是ZXing? ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库. 利用ZXing这个工具库来生成二维码,具体操作如下: 引入相关资源包 <dependency&g ...
- 链接生成二维码( QRCode )
Vue中链接生成二维码 安装插件 sudo npm install qrcodejs2 --save 页面中引入 import QRCode from "qrcodejs2"; c ...
最新文章
- centos安装ffmpeg php,lnmp下安装ffmpeg和ffmpeg-php教程
- linux获取url中文内容_Chrome OS 似乎将在Linux 的方向上更进一步
- CC2540开发板学习笔记(六)——AD控制(自带温度计)
- leetcode 小青蛙跳梯子
- php代码编辑器6,优秀的PHP代码编辑器_Blumentals Rapid PHP V13.6 免费版
- android开发实例之minitwitter登录界面 代码,Android实例miniTwitter登录界面
- 二叉树的中序遍历_Go 刷 leetcode从前序与中序遍历序列构造二叉树
- 人工智能不是计算机领域能学么,华南理工大学《高级人工智能》考试真题1
- qt中如何模拟按钮点击_qt – 在Windows中模拟鼠标按钮单击
- python生成的词云没有图案_还在为专栏封面发愁?我用Python写了个词云生成器!...
- 文字在状态栏上从右往左显示,而且是循环的
- Build a simple Ethereum + IPFS+ React.js DApp.
- 访问ntfs文件系统获取目标文件簇流
- Delphi7串口通讯实例(含Spcomm控件)
- 计算机桌面变小了是怎么回事啊,电脑桌面整体变小了要怎么调回来的
- 2020-12-04mscomm.ocx注册的问题
- 【目标流畅阅读文献】kick off
- 我国三大常用坐标系:北京54、西安80和WGS-84
- ABP中的数据过滤器
- 值得您收藏的png图标第二辑