QrCode的实现二维码功能

简介:

下面开始写代码

package com.wmsDemo.QRCode;

 

import java.awt.Color;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.text.SimpleDateFormat;

import java.util.Date;

 

import javax.imageio.ImageIO;

 

import com.swetake.util.Qrcode;

 

public class QRCodeEncoderHandler {

public void encoderQRCode(String content, String imgPath) { 

       try { 

           Qrcode qrcodeHandler = new Qrcode(); 

        // 设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小 

           qrcodeHandler.setQrcodeErrorCorrect('H'); 

           qrcodeHandler.setQrcodeEncodeMode('B'); 

           qrcodeHandler.setQrcodeVersion(5); 

           System.out.println(content); 

//            int imgSize = 67 + 12 * (size - 1);

           byte[] contentBytes = content.getBytes("gb2312"); 

           BufferedImage bufImg = new BufferedImage(115, 115, 

                   BufferedImage.TYPE_INT_RGB); 

           Graphics2D gs = bufImg.createGraphics(); 

           gs.setBackground(Color.WHITE); 

           gs.clearRect(0, 0, 115, 115); 

           // 设定图像颜色> BLACK 

           gs.setColor(Color.BLACK); 

           // 设置偏移量 不设置可能导致解析出错 

           int pixoff = 2; 

           // 输出内容> 二维码 

           if (contentBytes.length > 0 && contentBytes.length < 800) { 

               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 ]. "); 

           } 

           gs.dispose(); 

           bufImg.flush(); 

           File imgFile = new File(imgPath); 

           // 生成二维码QRCode图片 

           ImageIO.write(bufImg, "png", imgFile); 

       } catch (Exception e) { 

           e.printStackTrace(); 

       } 

   } 

   /**

 

    * @param args the command line arguments

 

    */ 

 

   public static void main(String[] args) { 

    //取当前时间为图片名称 带毫秒的

    SimpleDateFormat sdf =   new SimpleDateFormat("yyyyMMddHHmmssSSS" );

Date d=new Date();

String str=sdf.format(d);

       String imgPath = "D:/QRCode/twocode/"+str+".png"; 

       String content= "这是测试";

       QRCodeEncoderHandler handler = new QRCodeEncoderHandler(); 

       handler.encoderQRCode(content, imgPath); 

       System.out.println("imgPath:"+imgPath);

       System.out.println("encoder QRcode success"); 

   } 

相关文章
|
iOS开发
iOS - QRCode 二维码
1、QRCode 在 iOS7 以前,在 iOS 中实现二维码和条形码扫描,我们所知的有,两大开源组件 ZBar 与 ZXing。iOS7 之后可以利用系统原生 API 生成二维码, iOS8 之后可以生成条形码, 系统默认生成的颜色是黑色。
2742 0
|
存储 搜索推荐 算法
分享一个在线二维码生成器(基于qrcode.js开发)
一种二维码扫描与生成的工具, 它可生成个性化二维码, 支持文本、网址、图片、短信、电话等格式及主题,提供融合码功能
217 1
|
7月前
|
Python
生成二维码
使用Python生成二维码可借助`qrcode`库。安装库:`pip install qrcode[pil]`。创建二维码的步骤如下: ```python import qrcode
106 0
|
7月前
|
JavaScript
js生成二维码和解析二维码
js生成二维码和解析二维码
97 0
|
小程序
微信小程序生成二维码。把文字,链接,网址等生成二维码
微信小程序生成二维码。把文字,链接,网址等生成二维码
360 0
利用Qrcode生成二维码
``` import com.swetake.util.Qrcode; import javax.imageio.ImageIO; import java.awt.*; import java.awt
132 0
29使用QRcode方式生成二维码
29使用QRcode方式生成二维码
207 0
29使用QRcode方式生成二维码
|
JSON 前端开发 Java
如何在线生成二维码?
说到二维码,我相信大家每天都会用到,尤其是在手机支付的场景,使用频率极广。 实际上二维码在1994年的时候就已经诞生了,由 Denso 公司研制而成,只是那个时候使用范围还不是很大。 早期的二维码由于很容易通过技术方式进行伪造,因此很少有企业愿意去使用他,随着技术的不断迭代和更新,二维码的安全性更进一步得到了提升,从而使得更多的企业愿意使用这项新技术,例如当下的移动支付,还有微信互推,扫码出行等等,极大的方便了网民们的购物、社交和出行! 在实际的业务开发过程中,二维码的使用场景开发也会经常出现在我们开发人员的面前,我们应该如何去处理呢,今天小编就带着大家一起深入的了解一下它的技术实现过程
如何在线生成二维码?
|
前端开发
ionic3二维码功能(生成二维码)
生成二维码 方法一:qrcanvas(支持中文) 1. 安装依赖: npm i qrcanvas --save 2. 新建一个组件Component,通过这个组件来提供生成二维码的能力 ionic g component qrcode 3.
2560 0
QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)
原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)  http://blog.csdn.net/johnsuna/article/details/8525038 首先我们来看看二维码的符号字符区域,然后再看看其编码流程。
1510 0