首页 > 其他分享 >QrCode zxing 二维码生成

QrCode zxing 二维码生成

时间:2024-01-18 18:00:16浏览次数:22  
标签:google int zxing 二维码 QrCode import com

需要用到的依赖

<dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.0</version>
        </dependency>

        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.3.0</version>
        </dependency>

示例代码

package com.huo.controller;

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.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;

/**
 * 需求说明:卖家在一个实体产品上贴一个二维码,买家收货后,微信扫码获取产品的详细信息
 * 实现说明:卖家在出货前,把服务器上的产品详情页的链接地址(含有ID)生成二维码,买家收货后微信扫码,跳转到产品信息页即可查看
 * 需要jar:zxing-code-2.3.jar,下载地址http://download.csdn.net/download/sanfye/8704583
 *
 * @author 加内特
 */
public class GenerateCode {

    private static final int BLACK = 0xFF000000;
    private static final int WHITE = 0xFFFFFFFF;

    public static void main(String[] args) {
        try {
            boolean flag = generateCode("518");
            if (flag) {
                System.out.println("成功生成二维码");
            }
        } catch (WriterException | IOException e) {
            System.err.println("生成二维码失败");
            e.printStackTrace();
        }
    }

    public static boolean generateCode(String productId) throws WriterException, IOException {
        // 这里是URL,扫描之后就跳转到这个界面
        String text = "https://www.baidu.com/?uudi=" + productId;

//        String path = "E:/"; // 图片生成的位置
        String path = "E:/huoziqi/java/ideaproject/sso-demo/sso-server/src/main/java/com/demo/controller"; // 图片生成的位置
        int width = 400;
        int height = 400;
        // 二维码图片格式
        String format = "jpg";
        // 设置编码,防止中文乱码
        Hashtable<EncodeHintType, Object> ht = new Hashtable<EncodeHintType, Object>();
        ht.put(EncodeHintType.CHARACTER_SET, "UTF-8");
        // 设置二维码参数(编码内容,编码类型,图片宽度,图片高度,格式)
        BitMatrix bitMatrix = new MultiFormatWriter()
                .encode(text, BarcodeFormat.QR_CODE, width, height, ht);
        // 生成二维码(定义二维码输出服务器路径)
        File outputFile = new File(path);
        if (!outputFile.exists()) {
            // 创建文件夹
            outputFile.mkdir();
        }

        int b_width = bitMatrix.getWidth();
        int b_height = bitMatrix.getHeight();
        // 建立图像缓冲器
        BufferedImage image = new BufferedImage(b_width, b_height, BufferedImage.TYPE_3BYTE_BGR);
        for (int x = 0; x < b_width; x++) {
            for (int y = 0; y < b_height; y++) {
                image.setRGB(x, y, bitMatrix.get(x, y) ? BLACK : WHITE);
            }
        }
        // 生成二维码
        ImageIO.write(image, format, new File(path + "/code." + format));
        // 二维码的名称
        // code.jpg

        return true;
    }
}

 

标签:google,int,zxing,二维码,QrCode,import,com
From: https://www.cnblogs.com/huoziqi/p/17973110

相关文章

  • php生成图片二维码
    使用php类库PHPQRCode地址:http://phpqrcode.sourceforge.net/下载:http://sourceforge.net/projects/phpqrcode/下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。phpqrcode.php提供了一个关键的png()方法,其中参数$frame表示......
  • QR二维码生成器源码(中间可插入小图片)
    QR二维码生成器源码(中间可插入小图片) 二维码终于火了,现在大街小巷大小商品广告上的二维码标签都随处可见,而且大都不是简单的纯二维码,而是中间有个性图标的二维码。我之前做了一个使用google开源项目zxing实现二维码、一维码编码解码的程序并开放了源码(用C#实现的条形码和二......
  • 探索二维码:让信息传递更便捷
    二维码是一种用于储存信息的方形图形编码,它可以在多种场景中实现信息的快速传递和识别。本文将从多个方面介绍二维码的原理、类型、优势及应用场景,帮助您深入了解这一重要的物联网技术。二维码生成器|一个覆盖广泛主题工具的高效在线平台(amd794.com)https://amd794.com/q......
  • 生成二维码
    生成二维码工具类来源网络<!--二维码--><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.1.0</version></dependency><!--使用了Base64--><dependency......
  • vue3利用qrcode.vue并通过canvas合并图片
    <template><canvasid="canvas"width="300"height="400"></canvas><el-buttonstyle="margin-top:20px"type="danger"plain@click="downloadCode"......
  • QRCoder1.4.3生成二维码,不依赖System.Drawing,解决"未能找到类型或命名空间名QRCode","
    生成二维码1(简单)包引用:<PackageReferenceInclude="QRCoder"Version="1.4.3"/>usingQRCoder;///<summary>///生成二维码///</summary>///<paramname="data">escape后的数据,防止中文等特殊字符引起问题</param>///<par......
  • JAVA-EE使用谷歌的ZXing实现生成带LOGO的QR Code------JAVA-EE
    packagecom.powernode.qrcode.servlet;importcom.google.zxing.BarcodeFormat;importcom.google.zxing.EncodeHintType;importcom.google.zxing.MultiFormatWriter;importcom.google.zxing.common.BitMatrix;importcom.google.zxing.qrcode.decoder.ErrorCorrect......
  • 微信小程序生成和识别二维码和条码工具
     1、二维码二维码(QRCode)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫......
  • 【Python】【OpenCV】定位二维码
    相较于BarCode,QRCode有明显的特征区域,也就是左上角、右上角、左下角三个”回“字区域,得益于hierarchy中,父子关系的轮廓是连续的(下标),所以这个时候我们就可以通过cv2.findContours()返回的hierarchy来进行定位。我们直接上代码1importcv22importnumpy345......
  • 神奇的二维码
    题解给了一张二维码扫出来提示说flag不在这里用binwalk分析,发现还有四个rar文件用foremost不知道为啥分离不出来,这里直接用binwalk分离binwalk.exe-e.\BitcoinPay.png得到四个压缩包第一个压缩包里面套了一个加密压缩包(第一个没用,假的,骗人的)第二个压缩包,是base64......