当前位置:主页 > java教程 >

java二维码生成的方法

发布:2023-01-11 17:06:34 183


给网友们整理java相关的编程文章,网友符晨希根据主题投稿了本篇教程内容,涉及到java、二维码相关内容,已被654网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

本文实例为大家分享了java二维码的实现代码,供大家参考,具体内容如下

这次用到的jar包是zxing,没有用到core的jar包
先导入zxing.jar包

生成二维码

package cn.huse.erweima;

import java.io.File;
import java.util.HashMap;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

/**
 * 生成二维码
 *
 */
public class CreateQRCode {

 public static void main(String[] args) {
 int width = 300;
 int height = 300;
 
 String format = "gif";
 String content = "www.baidu.com";
 
 //定义二维码的参数
 HashMap hints = new HashMap<>();
 hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
 try {
  BitMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);
  File file = new File("e:"+File.separator+"new.gif");
  MatrixToImageWriter.writeToFile(matrix, format, file);
 } catch (Exception e) {
  e.printStackTrace();
 }
 }

}


解析二维码

package cn.huse.erweima;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import javax.imageio.ImageIO;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;

//解析二维码
public class ReadQRCode {

 public static void main(String[] args) {
 
 MultiFormatReader formatReader = new MultiFormatReader();
 File file = new File("e:"+File.separator+"new.gif");
 try {
  BufferedImage image = ImageIO.read(file);
  BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
  HashMap hints = new HashMap<>();
  hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
  
  Result result = formatReader.decode(binaryBitmap,hints);
  System.out.println(result.toString());
  System.out.println(result.getBarcodeFormat());
  System.out.println(result.getText());
 } catch (NotFoundException e) {
  e.printStackTrace();
 } catch (IOException e) {
  e.printStackTrace();
 }
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


参考资料

相关文章

  • 解析Java线程池创建过程

    发布:2020-03-14

    那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。下面我们来详细了解一下吧


  • Java获取时间差实例代码详解

    发布:2019-09-07

    这篇文章主要介绍了Java获取时间差(天数差,小时差,分钟差)代码示例,使用SimpleDateFormat来实现的相关代码,具有一定参考价值,需要的朋友可以了解下。


  • Java下奇怪的Base64知识点详解

    发布:2021-05-17

    这篇文章主要给大家介绍了关于Java下奇怪的Base64的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • java中计算集合的交差并集示例代码

    发布:2022-09-14

    给网友们整理关于java的教程,今天突然想Java如何计算集合的交差并集,主要是看Python语言的时候想起来的。下面这篇文章主要给大家介绍了关于java中计算集合的交差并集的相关资料,文中通过示例代码介绍的非常详细,需


  • 解析Kotlin接口与Java8新特性接口

    发布:2020-03-13

    这篇文章主要介绍了Kotlin 接口与 Java8 新特性接口,Kotlin的接口是可以包含属性声明。Kotlin默认的声明是fianl 和public的。Kotlin里嵌套的类默认并不是内部内,不包含对器外部类的隐式调用。下面我


  • 实例详解Java编程实现beta分布的采样或抽样

    发布:2020-02-04

    这篇文章主要介绍了Java编程实现beta分布的采样或抽样实例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下


  • Java封装器的实例用法讲解

    发布:2019-10-29

    这篇文章主要介绍了Java基础之类型封装器,结合实例形式分析了java类型封装相关原理与操作技巧,需要的朋友可以参考下


网友讨论