本文主要是介绍JAVA开发经验(二):常用工具类2.8-IO-图片合并并添加文字(ImageMergedUtil),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要说明:
ImageMergedUtil主要合成图片并添加文字,比如经常遇到的背景二维码生成海报
Maven依赖:
无
效果:
+
=
java工具类:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;public class ImageMergedUtil {/*** 合成图片并添加文字* * @param tempImage* 模版图片* @param mergedImage* 叠加图片* @param left* 叠加图片左边距* @param top* 叠加图片上边距* @param width* 叠加图片宽带* @param height* 叠加图片高度* @param str* 文字* @param font* 文字字体* @param fontLeft* 文字左边距* @param fonTop* 文字上边距* @param outputfile* 最终合成文件* @throws IOException*/public static void merged(File tempImage, File mergedImage, int left,int top, int width, int height, String str, Font font,int fontLeft, int fonTop, File outputfile) throws IOException {// 加载模版图片BufferedImage imageLocal = ImageIO.read(tempImage);// 加载叠加图片BufferedImage imageCode = ImageIO.read(mergedImage);Graphics2D g = imageLocal.createGraphics();// 在模板上添加叠加图片(地址,左边距,上边距,图片宽度,图片高度,未知)g.drawImage(imageCode, left, top, width, height, null);// 添加文本说明if (str != null) {// 设置文本样式g.setFont(font);g.setColor(Color.RED);g.drawString(str, fontLeft, fonTop);}// 完成模板修改g.dispose();ImageIO.write(imageLocal, "png", outputfile);}public static void main(String[] args) {File tempImage = new File("d://temp.png");File mergedImage = new File("d://qrcode.png");File outputfile = new File("d://outputfile.png");Font font = new Font("PingFangSC-Regular", Font.PLAIN, 35);try {ImageMergedUtil.merged(tempImage, mergedImage, 220, 761, 300, 300,"xxx邀请你使用xxx", font, 220, 1187, outputfile);} catch (IOException e) {e.printStackTrace();}}
}
这篇关于JAVA开发经验(二):常用工具类2.8-IO-图片合并并添加文字(ImageMergedUtil)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!