zxing生成二维码

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.33</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>
 1 import java.awt.image.BufferedImage;
 2 import java.io.ByteArrayOutputStream;
 3 import java.io.File;
 4 import java.io.FileOutputStream;
 5 import java.io.IOException;
 6 import java.nio.file.FileSystems;
 7 import java.nio.file.Path;
 8 import java.util.HashMap;
 9 import java.util.Map;
10 import java.util.Random;
11 import java.util.UUID;
12
13 import javax.imageio.ImageIO;
14
15 import org.apache.commons.io.IOUtils;
16 import org.w3c.dom.UserDataHandler;
17
18 import com.alibaba.fastjson.JSONObject;
19
20 import com.google.zxing.BarcodeFormat;
21 import com.google.zxing.EncodeHintType;
22 import com.google.zxing.MultiFormatWriter;
23 import com.google.zxing.WriterException;
24 import com.google.zxing.client.j2se.MatrixToImageWriter;
25 import com.google.zxing.common.BitMatrix;
26
27 public class Hseid {
28
29
30
31      public void testEncode() throws WriterException, IOException, InterruptedException {
32             String filePath = "D://";
33             String fileName =UUID.randomUUID()+".png";
34 //            JSONObject json = new JSONObject();
35 //            json.put("zxing", "https://github.com/zxing/zxing/tree/zxing-3.0.0/javase/src/main/java/com/google/zxing");
36 //            json.put("author", "shihy");
37 //            String content = json.toJSONString();// 内容
38             String content = "www.youku.com";
39             int width = 200; // 图像宽度
40             int height = 200; // 图像高度
41             String format = "png";// 图像类型
42             Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
43             hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
44
45
46             BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);// 生成矩阵
47
48           //  ByteArrayOutputStream out = new ByteArrayOutputStream();
49
50             //轉換到字節數組方式一
51            // BufferedImage bufferedImage = MatrixToImageWriter.toBufferedImage(bitMatrix);
52             //boolean flag = ImageIO.write(bufferedImage, "gif", out);
53             //byte[] b = out.toByteArray();
54
55             //轉換到字節數組方式二
56            // MatrixToImageWriter.writeToStream(bitMatrix, format, out);
57           //  byte[] byteArray = out.toByteArray();
58
59
60             //字節數組轉換到文件
61           //  FileOutputStream fileOutputStream = new FileOutputStream("D://11111.png");
62           //  IOUtils.write(byteArray,fileOutputStream );
63
64             //方案二先上傳再刪除
65             String usrHome = System.getProperty("user.home");
66             System.out.println(usrHome);
67             Path path = FileSystems.getDefault().getPath(usrHome, fileName);
68             MatrixToImageWriter.writeToPath(bitMatrix, format, path);// 输出图像
69             //...這裡完成上傳
70             Thread.sleep(10000);
71
72
73
74             File file = path.toFile();
75             if(file.exists()&&file.isFile()) {
76
77                 //再刪除
78                 file.delete();
79             }
80
81
82             System.out.println("输出成功.");
83         }
84
85
86      public static void main(String[] args) throws WriterException, IOException, InterruptedException {
87         new Hseid().testEncode();
88     }
89
90 }
时间: 2024-10-07 06:07:13

zxing生成二维码的相关文章

ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老美开发的,barcode4j对一维条形码处理的很好,而且支持的格式很多,当然也可以对二维码进行处理,效果个人感觉没有前两种好;ZXing对j2me,j2se,还有Android等支持也比较好,如果你是搞Android的或以后准备走Android,建议还是用zxing的比较好,毕竟都一个母亲(goole)生的,QRCode就不用说了吧,虽说技术无国界,但是国人还是有点.... 好,言归正传,java用ZXi

zxing生成二维码设置边框颜色

真是研究了很久很久,满满的泪啊 zxing生成二维码,默认是可以增加空白边框的,但是并没有说设置边框颜色的属性. 其中增加空白边框的属性的一句话是: Map hints = new HashMap();hints.put(EncodeHintType.MARGIN, 1); 使用这句话设置边框,留出来的边框的颜色,就是二维码中主颜色的以外的那个颜色.通常主颜色都是黑色,背景色都是白色.如下二维码的边框的颜色,就是除了绿色以外的那个颜色. 所以并没有设置边框颜色的属性,那该怎么办?比如:要求使用P

(转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老美开发的,barcode4j对一维条形码处理的很好,而且支持的格式很多,当然也可以对二维码进行处理,效果个人感觉没有前两种好;ZXing对j2me,j2se,还有Android等支持也比较好,如果你是搞Android的或以后准备走Android,建议还是用zxing的比较好,毕竟都一个母亲(gool

使用QRCode和zXing生成二维码

首先将需要的jar加到工程中 QRCode.jar.zxingcore-2.2.jar.javase-2.2.jar(也可不加,增加一个MatrixToImageWriter类也可以) package com.demo; import com.google.zxing.common.BitMatrix; import javax.imageio.ImageIO; import java.io.File; import java.io.OutputStream; import java.io.IO

java学习-zxing生成二维码矩阵的简单例子

这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件 也可使用maven添加依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.0</version> </dependency> 最简单的生成二维码的方法,

Android:使用ZXing生成二维码(支持加入Logo图案)

ZXing是谷歌的一个开源库.能够用来生成二维码.扫描二维码.本文所介绍的是第一部分. 首先上效果图: ZXing相关各种文件官方下载地址:https://github.com/zxing/zxing/releases 或者在这里下载(仅仅有本项目所用的jar包,版本:3.2.0):链接: http://pan.baidu.com/s/1hq3s5EW password: mvg7 1.生成二维码的工具类 /** * 二维码生成工具类 */ public class QRCodeUtil { /

引用ZXing生成二维码

1.生成二维码 ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口. Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码.本文引用zxing.dll,生成二维码. using com.google.zxing.qrcode; using com.google.zxing; using com.google.zxing.common; using ByteMatrix = com.google.zxing.common.Byte

Java通过Zxing生成二维码

今天,要完成一个批量生成二维码的工作,并将生成好的二维码与另外一张底图拼接,生成一张新图. Java生成二维码主要的sdk为,qrcode和zxing,二者差别不大,这里采用了zxing. 首先,直接使用其core.jar,然后实现MatrixToImageWriter类. 在使用zxing时,我们发现默认生成的白边太大,想进行修改,通过updateBit方法进行指定白边的宽度.在修改完其白边后,会影响默认设置的二维码大小,通过zoomInImage方法进行修复. 在合成两张图片时,通过Smal

Android -- 采用zxing生成二维码

首先在grandle里面添加zxing的库引用 compile 'com.google.zxing:core:3.1.0' 生成二维码静态类,返回一张二维码的Bitmap public class QrCodeUtil { // 生成QR图 public static Bitmap getQrCodeImage(int QR_WIDTH, int QR_HEIGHT, String text) throws WriterException { try { // 需要引入core包 QRCodeW

C# WPF使用ZXing生成二维码ImageSource

1.在http://zxingnet.codeplex.com/站点上下载ZXing .Net的第三方库 2.下载后解压可以看到有针对不同.Net版本的dll文件,在你的工程中引用正确的dll 3.然后再你的工程中引用System.Drawing程序集 4.在你需要生成二维码的Window中,加入一下代码 // 回收对象 [DllImport("gdi32")] static extern int DeleteObject(IntPtr o); /** * 创建二维码图片 */ pri