由于业务中需要将多张图片和自定义的文字用程序生成一张海报,所以今天写了一个公共的方法来处理多张图片拼接海报,相关文字贴入到图片中的问题!

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实现多图片和文字编辑成一张图片相关推荐

  1. Java分享--给图片添加文字水印(文字可旋转)

    这篇文章主要介绍了Java实现给图片添加文字水印,文字水印的方法,涉及java针对图片的读取.水印添加设置等相关操作技巧,需要的朋友可以参考下 . 很多时候项目中的图片需要一定的版权,就是人家拿出去用 ...

  2. Java POI导出(图片,文字,表格)word文档

    先给出官网链接,方便各位博友深入了解 http://deepoove.com/poi-tl/ 这里的教程,针对导出带有图片.文字.表格的Word文档 1.话不多说 先添加依赖 <dependen ...

  3. 用Java实现给图片添加文字水印

    程序背景 在网络中的很多地方都有水印的存在,比如微信公众号上面的图片,微博,以及这个CSDN博客上面的图片--所以突发奇想,看看自己能否写一个可以给图片添加水印的工具类. 程序代码 package i ...

  4. HTML5网页设计阶梯教程(2)——插入图片与文字编辑

    接着上一章讲,这章我要说说如何改变文字的大小与粗细及如何插入图片. 首先先看看一个标准的HTML5开头与结尾: 之后,我们在head中插入body: 然后插入标准大小的文本: 如果要将文本加粗的话,可 ...

  5. java如何解析图片里面文字_如何识别图片中的文字 讯飞输入法文字扫描快捷翻译教程...

    讯飞输入法是很多人都在用的一款手机输入法,它的功能是很全的.今天小编要和大家分享的是,如何使用文字扫描功能快速识别图片中文字,还能快捷翻译.希望能够帮助到大家远程办公. 以讯飞输入法Android版为 ...

  6. 如何将动态图片和文字转为一张图片

    npm install html2canvas --save data() { return { dataURL: '' } }, dataURL是最后转化出来的图片base64地址,放在img标签中 ...

  7. Python给图片加文字和二维码等图片

    给图片加文字,网上有很多,下面我不想在图片里面加文字,而是把文字加在图片上面当做标题,这样的做法可以不破坏原来的图片,另外还加了一个方法,除了加文字,还可以随意拼接图片,需要使用到pillow库 安装 ...

  8. 手把手教你如何通过Java给图片添加文字和图片水印

    本文首发于个人网站 前言 最近工作上有个需求,动态生成一张图片,具体来说就是基于模版图片动态添加文字和图片(文字内容不同,图片数目不同),其中文字大小不全一样,且对位置有所要求. 本文将剖析多个技术方 ...

  9. java微信公众号自动回复文字加图片

    java微信公众号自动回复文字加图片 开发流程 详细流程,附上代码: 第一步服务器(url)接口配置 服务器(url)接口配置,此步骤就是微信授权接口的过程,如果域名都不改变,微信只会校验一次.此请求 ...

最新文章

  1. 在安装好python后文件显示还是应用程序_在djang中找不到已安装的应用程序
  2. C# list删除 另外list里面的元素_[Python]列表(list)操作
  3. react周期函数介绍
  4. java时区_Java时区
  5. Remoting例子-使用配置文件
  6. JVM的内存区域划分(转摘)
  7. cisco ios 权限等级详解
  8. 手机怎么压缩gif动图大小?推荐一款gif压缩的工具
  9. ei会议论文含金量高吗?
  10. php数据库中有痣但是有时取不到,怎么判断脸上的痣会不会癌变?有这些情况就要警惕是皮肤癌...
  11. Learning AV Foundation(三)AVAudioRecorder
  12. Long与Integer之间的转换产生的问题
  13. 数据科学家分享:“大数据全栈技术与商用平台架构设计之路”
  14. 通过HttpURLConnection连接上传文件和参数并接收
  15. 设计模式:对问题行之有效的解决方式。其实它是一种思想。
  16. 【DC010沙龙年度合集】顶尖Hacking技术盛宴(文末福利)
  17. 每个人都有自己的梦想,I have a dream.Thinking After The Ring Of The Nibelungs
  18. 简单期货 资金充足 小郑期货
  19. bootstrap- 行内编辑
  20. linux网络设备应用与驱动编程学习3——lpc3250以太网控制器

热门文章

  1. 六个基础措施可确保企业数据安全
  2. i3 10110u 怎么样 相当于什么水平
  3. odoo14 文本字段动态设置字体样式颜色 decoration
  4. 最好用的项目流程管理工具 OmniPlan Pro 4.3.2 Mac版(内附安装包链接)
  5. 使用osmconvert转换pbf文件至osm文件
  6. MySQL索引详解之索引的利弊以及高效使用
  7. GeoServer入门学习:04-发布Shapfile地图数据
  8. 杭电OJ 1013 数字根源
  9. 怎样编写精确的延时函数
  10. 10款响应式自适应网站模板(一)