JAVA:文字写入图片、图片插入图片

2024-08-31 23:12
文章标签 java 文字 图片 插入 写入

本文主要是介绍JAVA:文字写入图片、图片插入图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

在实际应用中,需要通过Java将目标信息写在图片上,生成小卡片。

二、实现

1.定义一个工具类,代码如下:

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;public class WenZi2Pic {public static void main(String[] args) {String modelPath = "D:\\368760.jpg";String sourcePath = "D:\\source1.png";String savePath = "D:\\result1.png";savePic("皮卡丘,你准备好与我并肩作战,共同征服这个世界了吗?",modelPath,sourcePath,savePath);}public static void savePic(String text,String modelPath,String sourcePath,String savePath){try {//新建图片或者导入模版图片
//            BufferedImage bufImage = createImage(100,200,1);
//            g.setColor(new Color(0xDCDCDC));
//            g.setColor(Color.WHITE);
//            g.fillRect(0,0,srcImgWidth,srcImgHeight);BufferedImage bufImage = ImageIO.read(new File(modelPath));BufferedImage imageNew = new BufferedImage(bufImage.getWidth(), bufImage.getHeight(), BufferedImage.TYPE_INT_RGB);Graphics2D g = imageNew.createGraphics();g.drawImage(bufImage, 0, 0, bufImage.getWidth(), bufImage.getHeight(), null);//字体的平滑处理g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);//设置输出字体Font font = new Font("楷体", Font.BOLD, 50);g.setFont(font);g.setColor(Color.BLACK);//写字,注意:输入的坐标为第一个字左下角坐标g.drawString(text, 20, 500);//添加图片BufferedImage headImage = ImageIO.read(new File(sourcePath));g.drawImage(headImage,500, 600,null);g.dispose();//保存图片OutputStream fos = new FileOutputStream(savePath);ImageIO.write(imageNew, "png", fos);bufImage.flush();imageNew.flush();} catch (Exception e) {throw new RuntimeException(e);}}/*** 新建图片** @param width     图片宽* @param height    图片高* @param imageType 图片类型* @return 图片实体*/private static BufferedImage createImage(int width, int height, int imageType) {// 新建图片return new BufferedImage(width, height, imageType);}/*** 绘制背景* @param image    画布* @param graphics 画笔* @param bgColor  背景颜色*/private static void fillBackground(BufferedImage image, Graphics graphics, Color bgColor) {int width = image.getWidth();int height = image.getHeight();graphics.setClip(0, 0, width, height);// 设置画笔颜色graphics.setColor(bgColor);// 绘制背景graphics.fillRect(0, 0, width, height);}
}

三、代码呈现效果 

输入文字:

皮卡丘,你准备好与我并肩作战,共同征服这个世界了吗?

 输入图片:

背景图片:368760.jpg

待插入图片:source1.png

 输出图片:result1.png

这篇关于JAVA:文字写入图片、图片插入图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125267

相关文章

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3