java生成二维码例子及Qrcode.jar包(demo小例子)

java生成二维码例子及Qrcode.jar包

#######获取地址:
http://note.youdao.com/noteshare?id=dd9ec8a63ab3b97eba58bf7b32e4a8d9

package com.module.screen.test;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;

public class TestQrcode {
    public static void main(String[] args) {
        getQrcodeImage("http://images.ali213.net/picfile/pic/2013/05/17/927_zzz1.jpg","D:\\tangjinhui.png");
    }
    public static void getQrcodeImage(String content,String imagePath){
        int width = 235;
        int height = 235;
        //实例化一个对象
        Qrcode qrcode = new Qrcode();
        //编码方式
        qrcode.setQrcodeEncodeMode('B');
        //二维码的版本
        qrcode.setQrcodeVersion(15);
        //排错率
        qrcode.setQrcodeErrorCorrect('M');
        
        //创建一个图板
        BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
        //画笔
        Graphics2D gs = image.createGraphics();
        //设置二维码的背景颜色
        gs.setBackground(Color.white);
        gs.setColor(Color.black);
        gs.clearRect(0, 0, width, height);
        
        byte[] codeOut = null;
        try{
            codeOut = content.getBytes("utf-8");
            boolean[][] code = qrcode.calQrcode(codeOut);
            for(int i=0;i<code.length;i++){
                for(int j=0;j<code.length;j++){
                    if(code[j][i]){
                        gs.fillRect(j*3+2, i*3+2, 3, 3);
                    }
                }
            }
        File file = new File("C:\\Users\\tangjinhui\\Desktop\\image.png");
        Image srcImage = ImageIO.read(file);
        int width2 = srcImage.getWidth(null);
        int height2 = srcImage.getHeight(null);
        gs.drawImage(srcImage, 83, 83, width2, height2,null);
        //释放资源
        gs.dispose();
        image.flush();
        //写入制定的路径
        ImageIO.write(image, "png",new File(imagePath));
        }catch(Exception e){
            e.printStackTrace();
        }
                
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,854评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 我不知道我到底可以求谁,不是医生,医生也做不到,更不能是爸爸妈妈,只会徒增他们无尽的痛苦与悲伤。 那么究竟谁能再给...
    玉孜航阅读 232评论 0 0
  • 如果你曾关注过时尚设计,可能会发现:将最新技术与复古元素相结合是很多设计师喜欢的方式。3D打印作为一项前沿科技,自...
    3D虎阅读 630评论 0 0
  • 今天是你的节日,我的爱人, 它有一个很是温馨的名字, 它的名字就叫情人节。 我的爱人啊,你可知道的? 你应该早就知...
    Mr_稻香老农阅读 356评论 2 3