JAVA如何实现二维码生成加背景图
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下JAVA如何实现二维码生成加背景图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!pom.xml依赖
千家信息网最后更新 2026年11月02日JAVA如何实现二维码生成加背景图
小编给大家分享一下JAVA如何实现二维码生成加背景图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
pom.xml依赖
/** * 类名称:QRCodeMax * 类描述:生成二维码图片+背景+文字描述工具类 * 创建人:一个除了帅气,一无是处的男人 * 创建时间:2018年12月x日x点x分x秒 * 修改时间:2019年2月x日x点x分x秒 * 修改备注:更新有参数构造 * @version: 2.0 * */public class QRCodeMax { //文字显示 private static final int QRCOLOR = 0x201f1f; // 二维码颜色:黑色 private static final int BGWHITE = 0xFFFFFF; //二维码背景颜色:白色 // 设置QR二维码参数信息 private static Map com.google.zxing core 3.0.1 hints = new HashMap () { private static final long serialVersionUID = 1L; { put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);// 设置QR二维码的纠错级别(H为最高级别) put(EncodeHintType.CHARACTER_SET, "utf-8");// 设置编码方式 put(EncodeHintType.MARGIN, 0);// 白边 } }; /** * 生成二维码图片+背景+文字描述 * @param codeFile 生成图地址 * @param bgImgFile 背景图地址 * @param WIDTH 二维码宽度 * @param HEIGHT 二维码高度 * @param qrUrl 二维码识别地址 * @param note 文字描述1 * @param tui 文字描述2 * @param size 文字大小 * @param imagesX 二维码x轴方向 * @param imagesY 二维码y轴方向 * @param text1X 文字描述1x轴方向 * @param text1Y 文字描述1y轴方向 * @param text2X 文字描述2x轴方向 * @param text2Y 文字描述2y轴方向 */ public static void CreatQRCode( File codeFile, File bgImgFile,Integer WIDTH,Integer HEIGHT,String qrUrl, String note,String tui,Integer size,Integer imagesX,Integer imagesY,Integer text1X,Integer text1Y ,Integer text2X,Integer text2Y) { try { MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); // 参数顺序分别为: 编码内容,编码类型,生成图片宽度,生成图片高度,设置参数 BitMatrix bm = multiFormatWriter.encode(qrUrl, BarcodeFormat.QR_CODE, WIDTH, HEIGHT, hints); BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); // 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF) 白(0xFF000000)两色 for (int x = 0; x < WIDTH; x++) { for (int y = 0; y < HEIGHT; y++) { image.setRGB(x, y, bm.get(x, y) ? QRCOLOR : BGWHITE); } } /* * 添加背景图片 */ BufferedImage backgroundImage = ImageIO.read(bgImgFile); int bgWidth=backgroundImage.getWidth(); int qrWidth=image.getWidth(); //距离背景图片x边的距离,居中显示 int disx=(bgWidth-qrWidth)-imagesX; //距离y边距离 * * * * int disy=imagesY; Graphics2D rng=backgroundImage.createGraphics(); rng.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP)); rng.drawImage(image,disx,disy,WIDTH,HEIGHT,null); /* * 文字描述参数设置 */ Color textColor=Color.white; rng.setColor(textColor); rng.drawImage(backgroundImage,0,0,null); //设置字体类型和大小(BOLD加粗/ PLAIN平常) rng.setFont(new Font("微软雅黑,Arial",Font.BOLD,size)); //设置字体颜色 rng.setColor(Color.black); int strWidth=rng.getFontMetrics().stringWidth(note); //文字1显示位置 int disx1=(bgWidth-strWidth)-text1X;//左右 rng.drawString(note,disx1,text1Y);//上下 //文字2显示位置 int disx2=(bgWidth-strWidth)-text2X;//左右 rng.drawString(tui,disx2,text2Y);//上下 rng.dispose(); image=backgroundImage; image.flush(); ImageIO.write(image, "png", codeFile); } catch (Exception e) { e.printStackTrace(); } } /** * 测试 * @param args */ public static void main(String[] args) { File bgImgFile=new File("D://tu/bg.png");//背景图片 File QrCodeFile = new File("D://tu/myqrcode.png");//生成图片位置 String url = "https://blog.csdn.net/weixin_38407595";//二维码链接 String note = "" ;//文字描述 String tui = "" ;//文字描述 //宣传二维码生成 //生成图地址,背景图地址,二维码宽度,二维码高度,二维码识别地址,文字描述1,文字描述2,文字大小,图片x轴方向,图片y轴方向,文字1||2xy轴方向 CreatQRCode(QrCodeFile,bgImgFile, 148, 148, url, note,tui, 38, 408, 123, 0, 0, 410, 210); }}
以上是"JAVA如何实现二维码生成加背景图"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
二维
二维码
文字
图片
背景
生成
方向
地址
参数
位置
内容
大小
宽度
篇文章
编码
背景图片
颜色
高度
上下
字体
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
湖北九亚互联网络科技有限公司
深圳市人人互联网科技有限公司
互联网是第几次科技革命的成果
云信互联网科技有限公司
科技创新与互联网经济
互联网与科技发展
齐家互联网科技
唐信互联网科技 大连
赫美联合互联网科技
汉立互联网科技有限公司联系电话
互联网科技公司需要的职位
承德科技产业互联网发展
福建科技产业互联网发展
苏州五指互联网络科技有限
内蒙古九一互联网科技
陕西云淼互联网科技公司
工业互联网科技创业
广州梦谷互联网科技有限公司领导
中国互联网公司的科技投入
互联网黑科技
互联网高科技
互联网科技财经
互联网医疗科技
赫美联合互联网科技
茂名市互联网科技产业园
华服互联网科技官网
港股科技和互联网
阿里互联网科技企业
互联网领先科技宣传片