通过QRCode生成二维码与解码

先决条件:

  1. 需要的JAR包qrcode.jar(官网介绍),直接下载QRCode.jar

将QRCode.jar 加入到Maven库

mvn install:install-file?-DgroupId=[包名]?-DartifactId=[项目名]?-Dversion=[版本号]?-Dpackaging=[jar]?-Dfile=[jar文件所在路径]

?例子:

?mvn install:install-file -DgroupId=com.swetake -DartifactId=QRCode -Dversion=0.9 -Dpackaging=jar -Dfile=./QRCode.jar

?

package com.jc.de.qr;

/** * Created by Shylock on 14/12/31. */

import com.swetake.util.Qrcode;

import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.io.UnsupportedEncodingException;

public class QRCodeFactory {

   public static BufferedImage createQRCode(String text,Integer...version) throws UnsupportedEncodingException {      Qrcode qrcode = new Qrcode(); int v = 3; if (version != null&&version.length!=0) v =version[0]; if (text == null ||text.trim().equals(""))return null; byte[] content = text.getBytes("utf-8");

 boolean[][] codeOut = qrcode.calQrcode(content); int size = codeOut.length*10+10;

?BufferedImage bufferedImage = new BufferedImage(size,size,BufferedImage.TYPE_INT_RGB);

?Graphics2D graphics = bufferedImage.createGraphics();?graphics.setBackground(Color.WHITE);?graphics.clearRect(0, 0, size, size);?graphics.setColor(Color.BLACK); if (content.length > 0 && content.length < 120) {         for (int i = 0; i < codeOut.length; i++) {            for (int j = 0; j < codeOut.length; j++) {               if (codeOut[j][i]) {                  graphics.fillRect(j * 10 + 5, i * 10 + 5, 10, 10);?}            }         }      } else {         throw new UnsupportedEncodingException("QRCode content bytes length = " + content.length + " not in [ 0,120 ]. ");?}      graphics.dispose();?bufferedImage.flush(); return bufferedImage;?}   /** * 方法描述: * * @param args?* @throws UnsupportedEncodingException */?public static void main(String[] args) throws UnsupportedEncodingException {

      File imgFile = new File("/Users/Shylock/Desktop/test.png");// 生成二维码QRCode图片

?try {//图片格式?ImageIO.write(createQRCode("http://www.baidu.com",3,600), "png", imgFile);
?Desktop.getDesktop().open(imgFile);?} catch (IOException e) {         e.printStackTrace();?}

   }}

?

时间: 2024-08-28 13:24:48

通过QRCode生成二维码与解码的相关文章

Pyqt+QRcode 生成二维码

python生成二维码是件很简单的事,使用第三方库Python QRCode就可生成二维码,我用Pyqt给QRcode打个壳 一.python-qrcode介绍 python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库. PIL下载地址: https://pypi.python.org/pypi/PIL/1.1.6         或 http://www.pythonware.com/products/pil/ qrcode下载地址: https:

asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像 .

<%@ WebHandler Language="C#" Class="GetQRCode" %> using System; using System.Web; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; using System.IO; using System.Text; us

C# 利用QRCode生成二维码图片

引用LYBwwp的博文http://blog.csdn.net/lybwwp/article/details/18444369 网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了一个项目后,简单的整理了一下. 组件下载地址:http://download.csdn.net/detail/lybwwp/6861821 下载文件包包含ThoughtWo

Qrcode生成二维码的参数总结 及最小尺寸的测试

Qrcode生成二维码,做过很多实验,探索最小规格的二维码到底是多少尺寸,和最高规格的二维码到底是多大尺寸.现在我总结总结: 有两种思路: 1.生成规格高的二维码,然后压缩到自己想要的尺寸的二维码.这种:压缩算法不好的时候会很坑爹. 2.根据调整的参数生成原图,这种图是比较清晰的,打印出来都可以很好的被识别. 先说说第二种吧:根据测试, 1.不设置任何东西时:根据测试 最小的二维码尺寸是45--47:宽高(对于1---14个字符), 第二梯度:54-56:宽高(对于15--26字符) 第三梯度:

python_使用qrcode生成二维码

1.功能 使用qrcode生成二维码 2.代码 #生成二维码: import qrcode #根据url生成二维码 def qrcodeWithUrl(url): img = qrcode.make(url) savePath = "1.png" img.save(savePath) #根据输入的文字生成二维码 def qrcodeWithText(text): img = qrcode.make(text) savePath = "2.png" img.save(

使用jquery.qrcode生成二维码实现微信分享功能

前言: 最近有个这样的需求,在pc端的商品详情页增加分享功能. 微博分享.QQ好友分享.QQ空间分享这些都很常见.但是微信分享我还没有手动写过(以前改过). 最终效果如下图: 解决方案:使用jquery.qrcode插件生成二维码 jquery.qrcode cdn地址 参见: https://www.bootcdn.cn/jquery.qrcode/ 1.加载 jQuery 和 jquery.qrcode.js: <script src="https://cdn.bootcss.com/

C#使用ThoughtWorks.QRCode.dll生成二维码以及解码

最近一段时间在网上找了二维码的生成代码,但是生成的二维码右上角的背景色总是透明的,所以自己拿过来改了一下,给自己做个总结. 代码如下: using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using ThoughtWorks.QRCode.Codec;using ThoughtWorks

C# winform通过ThoughtWorks.QRCode生成二维码解码可以添加logo

首先要下载ThoughtWorks.QRCode.dll文件,添加引用. ThoughtWorks.QRCode.dll下载,点击下载 界面如下: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Win

ThoughtWorks.QRCode生成二维码

首先引用需要的dll,此处使用的是ThoughtWorks.QRCode.dll,网上可以找到对应的,此处也有一份,点击下载 http://files.cnblogs.com/files/ives/ThoughtWorks.QRCode.zip 接下来添加引用,不明白的网上文章很多. 关键代码如下 Bitmap bt; string enCodeString = "http://sheyouyun.com"; QRCodeEncoder qrCodeEncoder = new QRCo