最近接了一个需求,需求是给了一张图片,需要向图片当中插入文字,具体文字插入什么根据程序来定,例如下图:

需要对成果名称,完成单位,完成人等进行填充文字。

打开画图工具,然后选择文本

然后我们利用文本框框来测出他的边距,有了边距我们才能定位写文字的位置,宽度1105

高度530

实现出来的代码如下:

@GetMapping("/downImg")
public void downImg(HttpServletResponse response) {downloadService.downImg(response);
}

如下代码当中除了IoUtil使用的是hutool的工具类外,其他的均属于Java基础类(不需要引入其他依赖就能使用的)。

public void downImg(HttpServletResponse response) {InputStream inputStream = null;OutputStream outputStream = null;try {inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("templates/中医药科技成果登记证书.png");Image src = ImageIO.read(inputStream);// 获取图片的高和宽int wideth = src.getWidth(null);int height = src.getHeight(null);// 新增一个图片缓冲BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);Graphics g = image.createGraphics();g.drawImage(src, 0, 0, wideth, height, null);// 设置字体颜色(颜色也可以直接new定义rgba,例如new Color(17, 16, 44))g.setColor(Color.BLACK);// size字体大小,Font.BOLD字体加粗g.setFont(new Font("宋体", Font.BOLD, 50));// 写入成果名称,由宽度减去我们测的宽度度,就等于要开始写的位置g.drawString("测试测试", wideth - 1105, height - 530);// 释放资源g.dispose();responseSetting(response, "中医药科技", ".png", "image/png");outputStream = response.getOutputStream();ImageIO.write(image, "png", outputStream);} catch (IOException e) {throw new RuntimeException(e);} finally {IoUtil.close(inputStream);IoUtil.close(outputStream);}
}

测试:

关于Font类:public Font(String name, int style, int size)

  • name:字体,中文字体名:宋体,楷体,黑体等;英文字体名:Arial,Times New Roman等;
  • style:风格
    • Font.PLAIN (普通)
    • Font.BOLD (加粗)
    • Font.ITALIC (斜体)
    • Font.BOLD+Font.ITALIC(斜体加粗)
  • size:文字大小

Java实现编辑图片并添加文字相关推荐

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

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

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

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

  3. 图像处理之添加文字水印

    在之前图像处理博客中介绍了给图像添加图像水印,比如某些时候我们需要将照片的拍摄时间.位置.天气等信息标注到图像上.今天记录一下一种使用java在图像上添加文字水印的方法,使用的时java自带的Grap ...

  4. java在图片下方写文字_Java画图给图片底部添加文字标题

    Java画图 给图片底部添加文字标题 需求给图片底部添加文字编号 import java.awt.Color; import java.awt.Font; import java.awt.Graphi ...

  5. java 批量为图片添加图标水印和文字水印

    需求,给指定目录下面以.jpg结尾的文件,添加图标水印和文字水印 文章目录 一.基础版本 二.升级版本 三.依赖 一.基础版本 package com.gblfy.util;import com.su ...

  6. java pdf 文字_Java给pdf文件添加文字等信息

    2019独角兽企业重金招聘Python工程师标准>>> maven依赖 4.0.0 com.ttxit artifact 1.0.0 war javax.servlet javax. ...

  7. java springboot使用itext 为PDF添加文字水印并铺满屏

    java springboot使用itextpdf 为PDF添加文字水印并铺满屏 代码如下 如果对你有帮助希望你能点个赞 结尾 这是我第一次发博客,也是第一次使用itext添加水印.遇到一些大大小小的 ...

  8. Java实现在图片上添加文字(水印)

    今天分享一个:通过Java代码,给图片添加文字. 比如下面这个图片,我们在左下角就添加了一个文字版的水印,那么这是如何实现的呢 ? 目录 [1]获取原图片对象 (1.1)读取本地图片 (1.2)读取网 ...

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

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

最新文章

  1. gradle新建工程,多项目依赖,聚合工程
  2. MCMC采样和M-H采样
  3. Tool之Adobe:解决Adobe acrobat pro将PDF文件进行批量保存单页PDF文件(图文教程)
  4. QT4 自定义槽和信号
  5. mysql怎么把字符变成数字_mysql将字符转换成数字
  6. python文件批量改名_python文件批量重命名
  7. JIRA的text编辑模式
  8. PyG图神经网络框架--构建信息传递网络(MPN)
  9. [源码和文档分享]基于C语言实现的流星雨模拟课程设计
  10. STM32F207和DM9161A的以太网实现方案
  11. Java 数据库添加,修改和删除
  12. php 法定节假日接口,通过百度接口获取每一个月的工作和法定假日
  13. 解决Ubuntu 20.04挂载NTFS分区不能写入(只读权限)的问题
  14. vue 路由嵌套(二级路由)
  15. Jenkins升级大坑-插件问题
  16. 沈阳市政府 第三方社会评估总体报告
  17. diag()函数功能
  18. Calendar中 DAY_OF_MONTH, DAY_OF_YEAR, DATE 的区别
  19. 在线PS,MATLAB,AutoCAD等软件
  20. javax.swing的基本组成

热门文章

  1. 呵护身体10个部位的最佳食物!
  2. Pascal 基础算法教案
  3. c语言 算术平均滤波法_基本C语言滤波算法
  4. 使用Vue实现数据可视化大屏功能(二)
  5. [yzhpdh多读paper] The evolution of citation graphs in artificial intelligence research
  6. 【趣味程序】输入一行字符,统计其中有多少个单词,单词之间用空格隔开
  7. 【计算机网络系列】网络概述与体系结构
  8. kali2.0linux折腾记
  9. linux(ubuntu)下基于java的在线音乐仿qq播放器,
  10. 计算机关机后系统更新,电脑关机的时候一直在安装更新,已经一天了,还没更新完,也关不了机,怎么办...