精华内容
下载资源
问答
  • QRCode.jar包和二维码编码与解码实现
  • 很简单的一个java二维码编码与解码的说明文档,只需要你创建一个java程序,将代码复制过去就能用,新手也能看明白哦
  • 完整二维码编码解码包,本人收集整合成一个包,并附带完整的工具方法和运行例子可直接使用到手机客户端或应用。 解压后,引用TwoDimCode.jar包,运行使用TwoDimCode.java 绝对超值,下载看看吧!
  • C#写的二维码编码类和二维码解码类,不调用任何控件,方便翻译成任何语言,可在任意平台上运行。 内有说明文档,说明怎样设置和调用,使用非常的方便,编码一个类,解码一个类,不像网上搜索的那些各种复杂不好用,...
  • Qr 二维码 编码解码

    2011-08-29 14:41:32
    Qr 二维码 编码解码 完整Eclipse项目,jdk1.5
  • 完整的能够实现将文本文件编码二维码图片或将二维码图片解码为文本的小工具。 基于zxing的解码库,libqrcode的编码库,开源可根据需求修改。 vs工程、c++编写,命令行下输入参数即可实现转化,移植性强。 亲测可用...
  • 1.二维码图片类实现 package com.zhaochao.code; import java.awt.image.BufferedImage; import jp.sourceforge.qrcode.data.QRCodeImage; public class TwoDimensionCodeImage implements QRCodeImage { ...

    QRcode是日本人94年开发出来的。首先去QRCode的官网http://swetake.com/qrcode/java/qr_java.html,把要用的jar包下下来,导入到项目里去。qrcode需要设置一个版本号,这个版本号代表你生成的二维码的像素的大小。版本1是21*21的,版本号每增加1,边长增加4。也就是说版本7的大小是45 * 45的。版本号最大值是40。另外,版本7的编码的字节数如果超过了119,那么将无法编码

    1.二维码图片类实现

    package com.zhaochao.code;
    
    import java.awt.image.BufferedImage;
    import jp.sourceforge.qrcode.data.QRCodeImage;
    
    
    public class TwoDimensionCodeImage implements QRCodeImage {
    
    	BufferedImage bufImg;
    
    	public TwoDimensionCodeImage(BufferedImage bufImg) {
    		this.bufImg = bufImg;
    	}
    
    	@Override
    	public int getHeight() {
    			return bufImg.getHeight();
    	}
    
    	@Override
    	public int getPixel(int x, int y) {
    			return bufImg.getRGB(x, y);
    	}
    
    	@Override
    	public int getWidth() {
    			return bufImg.getWidth();
    	}
    
    }

    2.二维码编解码类实现

    package com.zhaochao.code;
    
    import java.awt.Color;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    import javax.imageio.ImageIO;
    
    import jp.sourceforge.qrcode.QRCodeDecoder;
    import jp.sourceforge.qrcode.exception.DecodingFailedException;
    
    import com.swetake.util.Qrcode;
    
    public class TwoDimensionCode {
    	
    	/**
    	 * 生成二维码(QRCode)图片
    	 * @param content 存储内容
    	 * @param imgPath 图片路径
    	 */
    	public void encoderQRCode(String content, String imgPath) {
    		this.encoderQRCode(content, imgPath, "png", 7);
    	}
    	
    	/**
    	 * 生成二维码(QRCode)图片
    	 * @param content 存储内容
    	 * @param output 输出流
    	 */
    	public void encoderQRCode(String content, OutputStream output) {
    		this.encoderQRCode(content, output, "png", 7);
    	}
    	
    	/**
    	 * 生成二维码(QRCode)图片
    	 * @param content 存储内容
    	 * @param imgPath 图片路径
    	 * @param imgType 图片类型
    	 */
    	public void encoderQRCode(String content, String imgPath, String imgType) {
    		this.encoderQRCode(content, imgPath, imgType, 7);
    	}
    	
    	/**
    	 * 生成二维码(QRCode)图片
    	 * @param content 存储内容
    	 * @param output 输出流
    	 * @param imgType 图片类型
    	 */
    	public void encoderQRCode(String content, OutputStream output, String imgType) {
    		this.encoderQRCode(content, output, imgType, 10);
    	}
    
    	/**
    	 * 生成二维码(QRCode)图片
    	 * @param content 存储内容
    	 * @param imgPath 图片路径
    	 * @param imgType 图片类型
    	 * @param size 二维码尺寸
    	 */
    	public void encoderQRCode(String content, String imgPath, String imgType, int size) {
    		try {
    			BufferedImage bufImg = this.qRCodeCommon(content, imgType, size);
    			
    			File imgFile = new File(imgPath);
    			// 生成二维码QRCode图片
    			ImageIO.write(bufImg, imgType, imgFile);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	/**
    	 * 生成二维码(QRCode)图片
    	 * @param content 存储内容
    	 * @param output 输出流
    	 * @param imgType 图片类型
    	 * @param size 二维码尺寸
    	 */
    	public void encoderQRCode(String content, OutputStream output, String imgType, int size) {
    		try {
    			BufferedImage bufImg = this.qRCodeCommon(content, imgType, size);
    			// 生成二维码QRCode图片
    			ImageIO.write(bufImg, imgType, output);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * 生成二维码(QRCode)图片的公共方法
    	 * @param content 存储内容
    	 * @param imgType 图片类型
    	 * @param size 二维码尺寸
    	 * @return
    	 */
    	private BufferedImage qRCodeCommon(String content, String imgType, int size) {
    		BufferedImage bufImg = null;
    		try {
    			Qrcode qrcodeHandler = new Qrcode();
    			// 设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小
    			qrcodeHandler.setQrcodeErrorCorrect('M');
    			qrcodeHandler.setQrcodeEncodeMode('B');
    			// 设置设置二维码尺寸,取值范围1-40,值越大尺寸越大,可存储的信息越大
    			qrcodeHandler.setQrcodeVersion(size);
    			// 获得内容的字节数组,设置编码格式
    			byte[] contentBytes = content.getBytes("utf-8");
    			// 图片尺寸
    			int imgSize = 67 + 12 * (size - 1);
    			bufImg = new BufferedImage(imgSize, imgSize, BufferedImage.TYPE_INT_RGB);
    			Graphics2D gs = bufImg.createGraphics();
    			// 设置背景颜色
    			gs.setBackground(Color.WHITE);
    			gs.clearRect(0, 0, imgSize, imgSize);
    
    			// 设定图像颜色> 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 {
    				throw new Exception("QRCode content bytes length = " + contentBytes.length + " not in [0, 800].");
    			}
    			gs.dispose();
    			bufImg.flush();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return bufImg;
    	}
    	
    	/**
    	 * 解析二维码(QRCode)
    	 * @param imgPath 图片路径
    	 * @return
    	 */
    	public String decoderQRCode(String imgPath) {
    		// QRCode 二维码图片的文件
    		File imageFile = new File(imgPath);
    		BufferedImage bufImg = null;
    		String content = null;
    		try {
    			bufImg = ImageIO.read(imageFile);
    			QRCodeDecoder decoder = new QRCodeDecoder();
    			content = new String(decoder.decode(new TwoDimensionCodeImage(bufImg)), "utf-8"); 
    		} catch (IOException e) {
    			System.out.println("Error: " + e.getMessage());
    			e.printStackTrace();
    		} catch (DecodingFailedException dfe) {
    			System.out.println("Error: " + dfe.getMessage());
    			dfe.printStackTrace();
    		}
    		return content;
    	}
    	
    	/**
    	 * 解析二维码(QRCode)
    	 * @param input 输入流
    	 * @return
    	 */
    	public String decoderQRCode(InputStream input) {
    		BufferedImage bufImg = null;
    		String content = null;
    		try {
    			bufImg = ImageIO.read(input);
    			QRCodeDecoder decoder = new QRCodeDecoder();
    			content = new String(decoder.decode(new TwoDimensionCodeImage(bufImg)), "utf-8"); 
    		} catch (IOException e) {
    			System.out.println("Error: " + e.getMessage());
    			e.printStackTrace();
    		} catch (DecodingFailedException dfe) {
    			System.out.println("Error: " + dfe.getMessage());
    			dfe.printStackTrace();
    		}
    		return content;
    	}
    
    	public static void main(String[] args) {
    		
    		String imgPath = "C:\\zhaochao.png";   
    		String encoderContent ="";
    		for(int i=0;i<40;i++)
    				encoderContent+="赵";
    
    		TwoDimensionCode handler = new TwoDimensionCode();    
    		
    		handler.encoderQRCode(encoderContent, imgPath, "png",10);
    		
    		System.out.println("=============编码成功!图片为于:"+imgPath+"===============");
    		
    		String decoderContent = handler.decoderQRCode(imgPath);
    		System.out.println("============解析结果如下:===============");
    		System.out.println(decoderContent);
    		System.out.println("=========解码成功===========");
    	}
    }

    3.运行结果:

    =============编码成功!图片为于:C:\zhaochao.png===============
    ============解析结果如下:===============
    赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵赵
    =========解码成功===========
    

    4.所需QRCode.jar包及相关资料下载

    http://download.csdn.net/detail/whzhaochao/6399309

    5.反编译过来的源码下载

    http://download.csdn.net/detail/whzhaochao/6403301
    展开全文
  • 条形码和二维码编码解码(通过引用zxing) 条形码:编码方式:EAN_13编码;EAN_8编码;Code39编码 二维码:编码方式:QRCode编码
  • 2012年最新二维码编码解码程序套件,是开发二维条码生成和自动识别应用参考实例。自动识别PDF417、QRCODE、DataMatrix和HanXin条码图形,同时又能将文本、图像、声音和指纹混合编码,生成二维条码。二维码种类包括...
  • 二维码编码/解码

    2013-03-04 13:23:20
    一个能将网址编码二维码或将二维码解码成网址的小工具。
  • 支持二维码编码(生成)和解码(识别) 似乎不支持中文,不过可以自己修改源代码的编码格式来支持中文 我比较关注二维码识别功能,所以比较详细的测试了 1、非居中、带LOGO、彩色二维码均能识别 2、有大量干扰...

    官方地址:https://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library

    有源代码和示例程序

    支持二维码编码(生成)和解码(识别)

    似乎不支持中文,不过可以自己修改源代码的编码格式来支持中文

    我比较关注二维码识别功能,所以比较详细的测试

    1、非居中、带LOGO、彩色二维码均能识别

    2、有大量干扰的情况下识别失败

    3、将二维码旋转到15度左右仍能识别

     

    修改源代码之后支持中文了

    下载地址:https://pan.baidu.com/s/1hrQ9nCC

     

    最后的最后,要让你们失望了,无法解码微信和支付宝二维码,这2种二维码都是自己定义的编码格式,不是国际标准格式。

    转载于:https://www.cnblogs.com/jjg0519/p/7426534.html

    展开全文
  • VB二维码生成与解码的源代码工程和应用软件,特别支持中文的二维码编码译码 代码片 下面展示一些 内联代码片。 ////////////////////////////////////////////////////// Private Sub Command2_Click() Dim byt() As...

    VB二维码生成与解码的代码,特别支持中文的二维码编码和译码

    代码片

    下面展示一些 内联代码片

    // VB  代码
    
    //保存二维码图片
    Private Sub Command1_Click()
        Printer.ScaleMode = 6
        Picture1.Picture = QRmaker1.Picture
        
        CommonDialog1.DialogTitle = "保存二维码图片"
        CommonDialog1.Filter = "All Files (*.*)|*.*|BMP Files (*.bmp)|*.bmp|JPGE Files (*.jpg)|*.jpg"
        CommonDialog1.FilterIndex = 3
        CommonDialog1.ShowSave
        
        If CommonDialog1.FileName <> "" Then
            SavePicture Picture1.Image, CommonDialog1.FileName
        End If
    End Sub
    
    //Unicode解码得到中文
    Private Sub DecodeTxt_Change()
        S = HexToStr(DecodeTxt.Text)
    '    MsgBox S
        ResultTxt.Text = S
    End Sub
    
    Private Sub Form_Load()
        With QRmaker1
            .ModelNo = 2
            .CellPitch = 10
            .CellUnit = 500
            .QuietZone = 0
            .InputData = "123abc!@?测试's developer"
            .Refresh
        End With
        
        txtInputData.Text = "test12ab%!?测试's developer"
        
    End Sub
    
    Private Sub txtInputData_Click()
        txtInputData.Text = ""
        QRmaker1.Refresh
    End Sub
    
    //中文编码得到Unicode
    Private Sub txtInputData_Change()
    
        Dim S1 As String
        
        S1 = StrToHex(txtInputData.Text)
        QRmaker1.InputData = S1
        QRmaker1.AutoRedraw = ArOn
        
    End Sub
    

    供交流分享,欢迎打赏,新手入门,攒攒积分。

    展开全文
  • QR二维码编码解码程序

    热门讨论 2013-12-26 17:56:16
    这是QR二维码编码解码程序,两个工程放在同一个工作空间中,便于大家学习,调试程序,已经在VC6.0下成功编译,运行正常。
  • java二维码编码解码测试 java QRCoder 二维码 编码 解码 java QRCoder 二维码 编码 解码
  • QR二维码编码解码组件。 QR二维码编码解码组件。 QR二维码编码解码组件。
  • 给朋友做个小功能的Demo,也是参考了不少网友的思路,也不敝帚自珍啦,有用的直接拿去。...from pyzbar.pyzbar import decode # 安装二维码解码包 pip install pyzbar def barcode_create(data_str): image

    给朋友做个小功能的Demo,也是参考了不少网友的思路,也不敝帚自珍啦,有用的直接拿去。

    看图说话

    Show me the code

    
    import cv2
    import numpy as np
    import qrcode  # 安装二维码生成包 pip install qrcode
    from pyzbar.pyzbar import decode    # 安装二维码解码包  pip install pyzbar
    
    
    def barcode_create(data_str):
        image = qrcode.make(data_str)
        image.save('./hello.png')
    
    
    def qrcode_decode(src_img):
        gray_img = cv2.cvtColor(src_img, cv2.COLOR_BGR2GRAY)
        # Find barcodes and QR codes
        barcode_objects = decode(gray_img)
    
        if len(barcode_objects) > 0:
            for obj in barcode_objects:
                print(obj)
    
                for j in range(0, 4):
                    cv2.line(src_img, obj.polygon[j], obj.polygon[(j + 1) % 4], (255, 0, 0), 3)
    
            cv2.putText(src_img, barcode_objects[0][0].decode("utf-8"), (20, 40), cv2.FONT_HERSHEY_PLAIN, 1, (0, 255, 0))
    
    
    if __name__ == '__main__':
        barcode_create('hello world!-20201226')
        capture = cv2.VideoCapture(0)  # 0是代表摄像头编号,只有一个的话默认为0
    
        while True:
            # 调用摄像机
            ref, capframe = capture.read()
            if ref is True:
                # 二维码识别
                qrcode_decode(capframe)
    
                cv2.imshow('frame', capframe)
                if cv2.waitKey(15) == 'q':
                    break
    
        capture.release()
        cv2.destroyAllWindows()
    

     

    展开全文
  • 二维码编码解码

    2013-03-07 17:57:38
    QRCode所需jar包 二维码编码解码
  • 二维码编码解码

    2013-01-04 10:09:49
    二维码编码解码,QR code的编码原理,解码原理。
  • 在C#程序中生成和读取二维码主要有ThoughtWorks.QRCode和Zxing两种解决方案。个人体验认为,ThoughtWorks.QRCode的编码功能完善,...并对二维码的适用范围进行了扩展,可完成字符串、byte[]数据与二维码图像之间的转换
  • C#二维码编码解码

    2011-07-20 14:46:43
    在csdn下载的qrcode,在vs2010下编译总是有错,于是我重新封装了一下,win7+vs2010下测试通过。生成的二维码图片使用iphone4的识别软件准确无误,放上源代码,大家一起研究一下。
  • .net二维码编码解码器源码
  • C#二维码编码解码器源码
  • 提供了用C#进行二维码开发的方案 还有二维码编码解码原理

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,727
精华内容 3,090
关键字:

二维码的编码与解码实现