JAVA使用Qrcode.jar 制作二维码带logo

  今天学习如何生成二维码,网上二维码生成的教程很多,有使用google zxing.jar的,也有使用Qrcode.jar的。我使用的是Qrcode.jar,代码来自网上的教程。代码不长,也很好理解。个人水平比较低,也是拿来主义,写一个随笔以备日后使用。生成二维码代码如下:

  

      try {
               Qrcode  qrcodeHandler = new Qrcode();
               //设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小
               qrcodeHandler.setQrcodeErrorCorrect(‘M‘);
               qrcodeHandler.setQrcodeEncodeMode(‘B‘);
               // 设置设置二维码尺寸,取值范围1-40,值越大尺寸越大,可存储的信息越大
               qrcodeHandler.setQrcodeVersion(7);
               // 获得内容的字节数组,设置编码格式
               byte[] contentBytes = content.getBytes("utf-8");
               //构造一个BufferedImage对象 设置宽、高
               BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB);
               Graphics2D gs = bufImg.createGraphics();
               gs.setBackground(Color.WHITE);
               gs.clearRect(0, 0, 140, 140);
               // 设定图像颜色  BLACK
               gs.setColor(Color.BLACK);
               // 设置偏移量 不设置可能导致解析出错
               int pixoff = 2;
               // 输出内容  二维码
               if (contentBytes.length > 0 && contentBytes.length < 120) {
                   boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);
                   for (int i = 0; i < codeOut.length; i++) {
                       for (int j = 0; j < codeOut.length; j++) {
                           if (codeOut[j][i]) {
                               gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
                           }
                       }
                   }
               } else {
                   System.err.println("QRCode content bytes length = "+ contentBytes.length + " not in [ 0,120 ]. ");
                   return -1;
               }
               //实例化一个Image对象。
               Image img = ImageIO.read(new File(logo));
               gs.drawImage(img, 44, 55, 49, 30, null);
               gs.dispose();
               bufImg.flush();
               //生成二维码QRCode图片
               File imgFile = new File(imgPath);
               ImageIO.write(bufImg, "jpg", imgFile);
           }catch (Exception e){
               e.printStackTrace();
               return -100;
           }                                

  代码就这些,封装成一个方法,只要传参调用即可。

时间: 2024-12-29 07:03:53

JAVA使用Qrcode.jar 制作二维码带logo的相关文章

jquery-qrcode.js 二维码带 logo

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script src="jquery-3.3.1.min.js"></script> 5 <script src="jquery-qrcode.js"></script> 6 <!-- 7 //样例地址 8 https://larsjung.de/jquery-qrcode/latest/demo/

vue生成条形码/二维码/带logo二维码

条形码:https://blog.csdn.net/dakache11/article/details/83749410 //安装 cnpm install @xkeshi/vue-barcode //main.js中引入 import VueBarcode from '@xkeshi/vue-barcode' Vue.component('barcode', VueBarcode) //vue文件中使用 <!-- 条形码 --> <barcode :value="barcod

使用java解析和制作二维码

项目结构 文件源码 QR.zip 第一步:导入zxing的两个架包 core.jar和javase.jar 第二步:使用工具类 MatrixToImageWriter.java 1 package util; 2 import com.google.zxing.common.BitMatrix; 3 import javax.imageio.ImageIO; 4 import java.io.File; 5 import java.io.OutputStream; 6 import java.i

Java制作二维码代码,中间带logo图片,可设置logo大小

public static int createQRCode(String content, String imgPath,String logo) { try { Qrcode qrcodeHandler = new Qrcode(); qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); qrcodeHandler.setQrcodeVersion(7); // System.out

Java生成微信二维码及logo二维码

依赖jar包 QrCode.jar:https://pan.baidu.com/s/1c1PYV0s 加入本地 maven: mvn install:install-file -Dfile=QRCode.jar -DgroupId=QRCode -DartifactId=QRCode -Dversion=3.0 -Dpackaging=jar 实例源码 import com.swetake.util.Qrcode; import javax.imageio.ImageIO; import jav

Java中使用验证码和二维码

资源 需要:   jelly-core-1.7.0.GA.jar 网站:   http://lychie.github.io/products.html 将下载下来的 jelly-core-1.7.0.GA.jar 丢到项目里,不需要编写任何 java 代码,只需要在项目的 web.xml 文件中配置相关信息即可. 验证码 基于 Servlet 实现,在 web.xml 中配置即可使用.并支持自定义样式,常用的配置项见下表: 属性名称 属性描述 默认值 可选值 border 边框 no no,y

Java使用ZXing生成/解析二维码图片

ZXing是一种开源的多格式1D/2D条形码图像处理库,在Java中的实现.重点是在手机上使用内置摄像头来扫描和解码设备上的条码,而不与服务器通信.然而,该项目也可以用于对桌面和服务器上的条形码进行编码和解码.目前支持这些格式: UPC-A and UPC-E EAN-8 and EAN-13 Code 39 Code 93 Code 128 ITF Codabar RSS-14 (all variants) RSS Expanded (most variants) QR Code Data M

Python制作二维码,并且可以添加logo

import  readline import qrcode from PIL import Image import os def Create_Qrcode(strings,path,logo=""):     qr = qrcode.QRCode(         version=2,         error_correction=qrcode.constants.ERROR_CORRECT_L,         box_size=6,         border=1,  

在Android用ZXing.jar识别二维码的精简版(简化了配置和代码)

最近公司做了一款OTP令牌激活的产品,由于之前激活手机令牌需要输入很多的激活信息才能进行激活.经过一段使用后,发现易用性不是很强,考虑如果加入二维码的的扫码功能岂不是大大增加了易用性.     在网上搜了很多资料,要不是配置太多,要不就是代码量太大,最后没办法就硬着头皮去写和去精简,最后压缩至目前的版本.如果有更好的版本可以联系我. 具体DEMO可以通过 下载http://download.csdn.net/detail/fugui6611634/7341277下载 本文代码运行的结果如下: 代