java生成二维码跳转链接
java生成二维码跳转链接
需要的jar包
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
java代码
package com.dzqc.yx.controller;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
public class QrCodeUtil {
public static void main(String[] args) {
String url = "http://www.jiajiajia.club";
String path = "d:/photo/";
String fileName = "a.png";
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;
}
}
评论区
请写下您的评论...
猜你喜欢
blog
js生成二维码跳转链接
前端(h5)
2535
js生成二维码跳转链接!DOCTYPEhtmlhtmlhead!--引入jquery,jquery.qrcode--scripttype='text/javascript'src='http
blog
java后端获取带参数小程序码接口
前端,java基础
1881
一、pom依赖二、后端接口示例三、前端页面 有些场景需要生成带参数的小程序二维码,比如商城为每个商品生成小程序二维码,通过微信扫码直接跳转到该商品所在的展示页面。微信为开发者们提供了相应接口
框架
1284
/groupIdartifactIdkaptcha/artifactIdversion${kaptcha.version}/version/dependency生成验证码的配置类importcom.google
算法基础
1300
一维数组的clone方法测试代码publicstaticvoidmain(String[]args){
inta[]=newint[]{1,2,3};
intb[]=a.clone();
b[0
前端(h5)
1752
h2h1----h2--------h3h1----h3----h2--------h42.案例如图:本文就介绍如何使用js设计数据结构,巧妙利用双向链表实现将顺序的目录,转换成树状目录。3.js代码scr
blog
asm生成for循环语句方法
java基础
2551
asm生成for循环语句方法1.jar包2.原java文件packageclub.jiajia.test3;publicclassExamp4{ publicintmethod(inta
javascript js html
1240
展示将文章中目标区域的h标签,生成目录结构具体代码下载下来看看吧~
official
963
JS随机生成密码(必须包含大小写字母,数字和特殊符号)functionrandomPassword(length){length=Number(length)if(length6){length
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。