Java实现多图片和文字编辑成一张图片
由于业务中需要将多张图片和自定义的文字用程序生成一张海报,所以今天写了一个公共的方法来处理多张图片拼接海报,相关文字贴入到图片中的问题!
1.准备素材--两张图片,一张背景图,一张需要覆盖到某个位置的图
2.编写图片重组方法
1).设置图片大小
设置图片大小的公共方法
public static BufferedImage resizeImage(int x,int y,BufferedImage bfi){BufferedImage bufferedImage = new BufferedImage(x, y, BufferedImage.TYPE_INT_RGB);bufferedImage.getGraphics().drawImage(bfi.getScaledInstance(x, y, Image.SCALE_SMOOTH), 0, 0, null);return bufferedImage;}
在重组方法中设置图片大小
public static String overlapImage(){try {//设置图片大小BufferedImage background = resizeImage(618,1000, ImageIO.read(new File("这里是背景图片的路径!")));BufferedImage qrCode = resizeImage(150,150,ImageIO.read(new File("这里是插入二维码图片的路径!")));}catch (Exception e){e.printStackTrace();}return null;}
2).在背景图片某个位置写入文字信息
利用Graphics2D工具绘制,将文字写入到图片当中
//在背景图片中添加入需要写入的信息,例如:欢迎大家使用我的淘宝返利机器人,居家必备,省钱购物专属小秘书!
String message01 = "欢迎大家使用我的淘宝返利机器人";
String message02 = "居家必备,省钱购物专属小秘书!";
Graphics2D g = background.createGraphics();
g.setColor(Color.white);
g.setFont(new Font("微软雅黑",Font.BOLD,20));
//这里将信息和信息对应的位置写入
g.drawString(message01,530 ,190);
g.drawString(message02,530 ,220);
g.dispose();
ImageIO.write(background, "jpg", new File("这里是一个输出图片的路径"));
3).在背景图中间插入其他图片信息
最后在背景中添加二维码图片
g.drawImage(qrCode, 700, 240, qrCode.getWidth(), qrCode.getHeight(), null);
3.编写main方法,调用,查看结果
为了方便查看,最后代码为全部代码
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;/*** Created by zj on 2018/10/18.*/
public class ImageReorganization {public static void main(String[] args) {String backgroundPath = "D:\\test\\angelYan.jpg";String qrCodePath = "D:\\test\\qrcode.jpg";String message01 ="扫描下方二维码,欢迎大家添加我的淘宝返利机器人";String message02 = "居家必备,省钱购物专属小秘书!";String outPutPath="D:\\test\\end.jpg";overlapImage(backgroundPath,qrCodePath,message01,message02,outPutPath);}public static String overlapImage(String backgroundPath,String qrCodePath,String message01,String message02,String outPutPath){try {//设置图片大小
// BufferedImage background = resizeImage(618,1000, ImageIO.read(new File("这里是背景图片的路径!")));BufferedImage background = resizeImage(1000,618, ImageIO.read(new File(backgroundPath)));
// BufferedImage qrCode = resizeImage(150,150,ImageIO.read(new File("这里是插入二维码图片的路径!")));BufferedImage qrCode = resizeImage(150,150,ImageIO.read(new File(qrCodePath)));//在背景图片中添加入需要写入的信息,例如:扫描下方二维码,欢迎大家添加我的淘宝返利机器人,居家必备,省钱购物专属小秘书!//String message = "扫描下方二维码,欢迎大家添加我的淘宝返利机器人,居家必备,省钱购物专属小秘书!";Graphics2D g = background.createGraphics();g.setColor(Color.white);g.setFont(new Font("微软雅黑",Font.BOLD,20));g.drawString(message01,530 ,190);g.drawString(message02,530 ,220);//在背景图片上添加二维码图片g.drawImage(qrCode, 700, 240, qrCode.getWidth(), qrCode.getHeight(), null);g.dispose();
// ImageIO.write(background, "jpg", new File("这里是一个输出图片的路径"));ImageIO.write(background, "jpg", new File(outPutPath));}catch (Exception e){e.printStackTrace();}return null;}public static BufferedImage resizeImage(int x, int y, BufferedImage bfi){BufferedImage bufferedImage = new BufferedImage(x, y, BufferedImage.TYPE_INT_RGB);bufferedImage.getGraphics().drawImage(bfi.getScaledInstance(x, y, Image.SCALE_SMOOTH), 0, 0, null);return bufferedImage;}
}
4.最后查看效果
生成的图片效果
Java实现多图片和文字编辑成一张图片相关推荐
- Java分享--给图片添加文字水印(文字可旋转)
这篇文章主要介绍了Java实现给图片添加文字水印,文字水印的方法,涉及java针对图片的读取.水印添加设置等相关操作技巧,需要的朋友可以参考下 . 很多时候项目中的图片需要一定的版权,就是人家拿出去用 ...
- Java POI导出(图片,文字,表格)word文档
先给出官网链接,方便各位博友深入了解 http://deepoove.com/poi-tl/ 这里的教程,针对导出带有图片.文字.表格的Word文档 1.话不多说 先添加依赖 <dependen ...
- 用Java实现给图片添加文字水印
程序背景 在网络中的很多地方都有水印的存在,比如微信公众号上面的图片,微博,以及这个CSDN博客上面的图片--所以突发奇想,看看自己能否写一个可以给图片添加水印的工具类. 程序代码 package i ...
- HTML5网页设计阶梯教程(2)——插入图片与文字编辑
接着上一章讲,这章我要说说如何改变文字的大小与粗细及如何插入图片. 首先先看看一个标准的HTML5开头与结尾: 之后,我们在head中插入body: 然后插入标准大小的文本: 如果要将文本加粗的话,可 ...
- java如何解析图片里面文字_如何识别图片中的文字 讯飞输入法文字扫描快捷翻译教程...
讯飞输入法是很多人都在用的一款手机输入法,它的功能是很全的.今天小编要和大家分享的是,如何使用文字扫描功能快速识别图片中文字,还能快捷翻译.希望能够帮助到大家远程办公. 以讯飞输入法Android版为 ...
- 如何将动态图片和文字转为一张图片
npm install html2canvas --save data() { return { dataURL: '' } }, dataURL是最后转化出来的图片base64地址,放在img标签中 ...
- Python给图片加文字和二维码等图片
给图片加文字,网上有很多,下面我不想在图片里面加文字,而是把文字加在图片上面当做标题,这样的做法可以不破坏原来的图片,另外还加了一个方法,除了加文字,还可以随意拼接图片,需要使用到pillow库 安装 ...
- 手把手教你如何通过Java给图片添加文字和图片水印
本文首发于个人网站 前言 最近工作上有个需求,动态生成一张图片,具体来说就是基于模版图片动态添加文字和图片(文字内容不同,图片数目不同),其中文字大小不全一样,且对位置有所要求. 本文将剖析多个技术方 ...
- java微信公众号自动回复文字加图片
java微信公众号自动回复文字加图片 开发流程 详细流程,附上代码: 第一步服务器(url)接口配置 服务器(url)接口配置,此步骤就是微信授权接口的过程,如果域名都不改变,微信只会校验一次.此请求 ...
最新文章
- 在安装好python后文件显示还是应用程序_在djang中找不到已安装的应用程序
- C# list删除 另外list里面的元素_[Python]列表(list)操作
- react周期函数介绍
- java时区_Java时区
- Remoting例子-使用配置文件
- JVM的内存区域划分(转摘)
- cisco ios 权限等级详解
- 手机怎么压缩gif动图大小?推荐一款gif压缩的工具
- ei会议论文含金量高吗?
- php数据库中有痣但是有时取不到,怎么判断脸上的痣会不会癌变?有这些情况就要警惕是皮肤癌...
- Learning AV Foundation(三)AVAudioRecorder
- Long与Integer之间的转换产生的问题
- 数据科学家分享:“大数据全栈技术与商用平台架构设计之路”
- 通过HttpURLConnection连接上传文件和参数并接收
- 设计模式:对问题行之有效的解决方式。其实它是一种思想。
- 【DC010沙龙年度合集】顶尖Hacking技术盛宴(文末福利)
- 每个人都有自己的梦想,I have a dream.Thinking After The Ring Of The Nibelungs
- 简单期货 资金充足 小郑期货
- bootstrap- 行内编辑
- linux网络设备应用与驱动编程学习3——lpc3250以太网控制器