作者:

金炎帅
二维码合成文字比较少见,也实用。

当前实现:
@Slf4j
public class DrawImageUtil {private BufferedImage image;private static int imageWidth = 400; // 图片的宽度private static int imageHeight = 400; // 图片的高度public static File drawImage(Map<String, String> contentMap, File img) throws IOException {int size = 12;// 创建主模板图片BufferedImage image =new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);Graphics2D main = image.createGraphics();// 设置图片的背景色main.setColor(Color.white); // 白色main.fillRect(0, 0, 400, 400);// 插入二维码Graphics qrCode = image.getGraphics();BufferedImage codeimg = null;codeimg = ImageIO.read(img);if (codeimg != null) {qrCode.drawImage(codeimg, 50, 0, 300, 300, null);qrCode.dispose();}// 文字Graphics2D content = image.createGraphics();content.fillRect(0, 300, 300, 100);content.setColor(Color.BLACK);content.setFont(new Font("宋体", Font.BOLD, size));content.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);AtomicInteger startY = new AtomicInteger(300);contentMap.forEach((s, s2) -> {content.drawString(s + ":" + s2, 50, startY.get() + 18);startY.getAndAdd(18);});ImageIO.write(image, "jpg", img);return img;}}

解决服务器部署图片文字乱码问题

在Windows系统上,文字显示正常,当项目部署到Linux系统上时,中文全部变成了口口口这种方框。我们使用的文字是Font font=new Font(“宋体”,Font.BOLD,12);。出现的原因是因为在Linux上没有中文宋体字体库,需要我们导入。

(1)查找Windows系统(本地)的文字包。路径:C:\Windows\Fonts

(2)将字体文件导入到linux系统java的fonts包中。

(3)重启服务生效,中文就可以正常显示了。

生成文字和二维码合成相关推荐

  1. Tp5生成带头像二维码海报(带文字描述,居中调整)

    Tp5生成带头像二维码海报(带文字描述,居中调整) 三张海报中随机生成一张展现 /*** 获取随机海报* Author: yanjie <823986855@qq.com>* Date: ...

  2. java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载

    java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成.解析.下载 自己用java搭建一个属于自己APP二维码合成网站.我的思路是这样的: 1.用户在前台表单提交APP的IOS和Andro ...

  3. 微信生成带参数的二维码,合成海报,扫码后推送小程序?

    微信服务号渠道二维码功能,支持生成带参数二维码,合成海报二维码,微信扫码后推送内容:结合微号帮平台48小时信息推送,推送微信小程序. 带参二维码 海报二维码 微信扫码后回复 48小时信息推送 在微号帮 ...

  4. java生成二维码合成背景图

    一.背景 接到个需求,要打印纸质红包,上面附二维码,然后每个红包的二维码不一样,扫描二维码去参加活动领真实的红包,需要给出对应的图片 二.代码示例 import java.awt.Graphics2D ...

  5. PHP多文字,二维码(动态、非动态)生成海报方式

    PHP多文字,二维码(动态(支持带logo).非动态)生成海报方式 1.下载二维码插件Phpqrcode,地址 [https://sourceforge.net/projects/phpqrcode/ ...

  6. C#生成带背景和文字的二维码图片

    /// <summary>         /// 生成带背景和文字的二维码图片         /// </summary>         /// <param na ...

  7. PHP使用phpqrcode生成带LOGO或文字的二维码

    一.加入文字的代码示例: //如果没有文件夹 则自动创建$nowDay = date('Y-m-d');if(!is_dir($_SERVER['DOCUMENT_ROOT'].$path.$nowD ...

  8. phpqrcode生成含logo二维码

    接上篇文章,由于体验效果不是很合理,重建使用 php 的 GD库进构建新的方法,所需文件:phpqrcode.php 下载方法很多,可官网自行解决问题 话不多说,直接切入正题: 首先 php文件中引入 ...

  9. Java分别使用zxing及qrcode-plugin生成各种样式二维码

    二维码 二维条形码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息. 二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动 ...

  10. Java实现生成和解析二维码

    Java实现生成和解析二维码 文章目录 Java实现生成和解析二维码 一.建立项目 二.创建工具类 三.创建启动类 一.建立项目 首先需要创建一个普通的 Maven 项目,在这里我用的是 google ...

最新文章

  1. cocoa下的多线程实践
  2. 实例分析C语言中strlen和sizeof的区别
  3. 华为oj题java单词博弈_【华为OJ】201301 JAVA 题目0-1级 将数组分为相等的两组
  4. Java基础知识(二)之控制语句
  5. highcharts 怎么去掉鼠标悬停效果_腿上肥胖纹怎么去掉 大腿肥胖纹怎么消除
  6. 数字IC验证学习(二)
  7. 程序员修神之路--高并发下如何缩短响应时间
  8. python实验原理_Python实验报告八
  9. 【BZOJ - 3993】星际战争(网络流最大流+二分)
  10. 讲讲我对比特币和区块链的认知,挖矿不难,挖到难
  11. android统计库,android jacoco 统计多模块
  12. c#使用私有构造方法
  13. 斐讯盒子T1_【YYF固件】无语音实用版刷机固件及教程分享
  14. tabbar图标大小更改
  15. Tri-Training: Exploiting Unlabeled Data Using Three Classifiers
  16. ARCGIS清晰的地图,底图,道路街景图
  17. 如何处理Java异常及常见异常
  18. PHP汉字转拼音的两种方法+PHP提取汉字(中文)方法
  19. STM32F103RCT6+1.44TFT屏幕显示
  20. 前端十年的思索:前端专业方向的尽头

热门文章

  1. BLOB/TEXT column ‘h_long_varbinary‘ used in key specification without a key length
  2. smartforms 黑底白字的标签logo制作
  3. 设置两个路由器连接以扩大WiFi覆盖范围的方法
  4. Aspect Level Sentiment Classification with Deep Memory Network
  5. 前端中文汉字转换为拼音、拼音首字母的插件Chinese-to-Pinyin
  6. 关于怎么解决org.apache.ibatis.binding.BindingException: Mapper method attempted to return null from a met
  7. html的excel表格自动换行,Excel单元格内换行实现同时设置多单元格自动换、避免输入短横线...
  8. 基于MPC算法的汽车自适应巡航系统仿真与分析
  9. 18-基于STM32的室内可见光通信系统设计
  10. Java序列化神器——Jprotobuf(小白篇)