/**
*
*/
package qrcode;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException; import javax.imageio.ImageIO; import com.swetake.util.Qrcode; /**
* @author hy
* @date 2019-02-19 09:27:13
*
*/
public class QrcodeUtil {
public static void main(String[] args) {
try {
qrcodeCom();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
private static void qrcodeCom() throws IOException {
int height=200;
int width=200;
String qrContent="www.hao123.com";
Qrcode qrcode = new Qrcode();
qrcode.setQrcodeEncodeMode('B');//N代表数字,A代表a-Z,B代表其它字符
qrcode.setQrcodeErrorCorrect('Q'); // 设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小
qrcode.setQrcodeVersion(12);//版本,取值范围1-40,值越大尺寸越大,可存储的信息越大
byte[] contentBytes = qrContent.getBytes("utf-8"); //设置编码
BufferedImage bfimg =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D grap=bfimg.createGraphics();
grap.setBackground(Color.WHITE);//设置背景色
grap.setColor(Color.BLACK);//设置二维码颜色
grap.clearRect(0, 0, width, height);//清除下画板内容
int pixoff = 2;// 设置偏移量,不设置可能导致解析出错
if (contentBytes.length>0&&contentBytes.length<800) {
boolean[][] codeout=qrcode.calQrcode(contentBytes);//让字符串生成二维码
for (int i = 0; i < codeout.length; i++) {
for (int j = 0; j < codeout.length; j++) {
if (codeout[i][j]) {
grap.fillRect(i*3+pixoff, j*3+pixoff, 3, 3);
}
}
}
}
/***带logo开始***/
Image img = ImageIO.read(new File("E://logo.png"));// 实例化一个Image对象。
grap.drawImage(img, 70, 70, 60, 60, null);// 70,70是距离grap两个边的距离,60,60是中间logo的大小
/****logo结束******/
grap.dispose();
bfimg.flush();
ImageIO.write(bfimg, "png", new File("E://qrcode.png"));
}
}

qrcode.png:logo.png:

JAVA使用qrcode生成二维码(带logo/不带logo)的更多相关文章

  1. java 通过Qrcode生成二维码添加图片logo和文字描述

    /** * 二维码创建 * @author yhzm * */ public class printServiceImpl extends BaseService { public void barC ...

  2. JAVA用QRCode生成二维码

    QRCode jar下载地址: 生成:http://www.swetake.com/qrcode/index-e.html 读取:https://zh.osdn.net/projects/qrcode ...

  3. C#Qrcode生成二维码支持中文,带图片,带文字

    C#Qrcode生成二维码支持中文带图片的操作请看二楼的帖子,当然开始需要下载一下C#Qrcode的源码 下载地址 : http://www.codeproject.com/Articles/2057 ...

  4. java学习-zxing生成二维码矩阵的简单例子

    这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件,也可使用maven添加依赖 <dependency> <gr ...

  5. Java与JS生成二维码

    1.二维码概念 二维码/二维条码是用某种特定的集合图形按一定规律在平面上(二维方向上)分布的黑白相间的图形记录数据符号信息的图片. 黑线是二进制的1,空白的地方是二进制的0,通过1.0这种数据组合用于 ...

  6. Java根据链接生成二维码

    Java根据链接生成二维码 相关 jar 包: core-3.1.0.jar 源码及 jar 包下载:http://files.cnblogs.com/files/liaolongjun/qrcode ...

  7. Java后台直接生成二维码介绍

    Java后台直接生成二维码 1.其实jquery也可以直接生成二维码的,但我测试的时候,二维码生成后太模糊,难以识别.所以在这里介绍在后来生成二维码的方式. 2.不善于文字描述,直接上代码了. imp ...

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

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

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

    Qrcode生成二维码,做过很多实验,探索最小规格的二维码到底是多少尺寸,和最高规格的二维码到底是多大尺寸.现在我总结总结: 有两种思路: 1.生成规格高的二维码,然后压缩到自己想要的尺寸的二维码.这 ...

随机推荐

  1. DoraHacks的笔记

    DoraHacks的笔记

  2. 解决windows 10英文版操作系统中VS2017控制台程序打印中文乱码问题

    当您在windows 10英文版的操作系统中运行Vs2017控制台应用程序时,程序可能无法正常显示中文,中文都变成了乱码.这是由于大部分中文程序所使用的文字编码与Windows 英文系统的文字编码不同 ...

  3. centos7.4之zabbix4.0的fping监控

    参考博文: https://www.cnblogs.com/lei0213/p/8859326.html 注释:他是额外安装fping的:因为我yum安装的zabbix,fping就已经自带了:安装步 ...

  4. mysql数据库配置文件

    一.数据库配置文件 数据库配置文件是很一个很强大的功能,这是数据库管理员经常需要关注的配置文件. my.ini  #这是在windows下的配置文件名称. my.conf  #这是在linux下的配置 ...

  5. sql标量函数与表值函数

    标量函数 ),)) returns int as begin return (select UserID from UserInfo where UserName=@UserName and User ...

  6. Git忽略提交 .gitignore配置。自动生成IDE的.gitignore。解决gitignore不生效

    语法 以”#”号开头表示注释: 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或 ...

  7. python3 实现细胞自动机

    废话不多说,先直接上效果图: “滑翔者”:每4个回合“它”会向右下角走一格.虽然细胞早就是不同的细胞了,但它能保持原本的形态. "脉冲星":它的周期为3,看起来像一颗周期爆发的星星 ...

  8. P4197 Peaks

    题目描述 在Bytemountains有N座山峰,每座山峰有他的高度\(h_i\).有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点 ...

  9. Day12 Java异常处理与程序调试

    什么是异常? 不正常的,会影响程序的正常执行流程. 例如下面的程序 public static void main(String[] args) { TestDemo1 t = new TestDem ...

  10. 20175209 实验三《敏捷开发与XP实践》实验报告

    20175209 实验三<敏捷开发与XP实践>实验报告 一.实验内容 编码标准:在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Cod ...