java 两张图片合并_java 在图片上写字,两个图片合并的实现方法
实例如下:
package writeimg;
import javax.imageio.ImageIO;
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 java.net.URL;
public class pic {
private Font font = new Font("华文彩云", Font.PLAIN, 40);// 添加字体的属性设置
private Graphics2D g = null;
private int fontsize = 0;
private int x = 0;
private int y = 0;
/**
* 导入本地图片到缓冲区
*/
public BufferedImage loadImageLocal(String imgName) {
try {
return ImageIO.read(new File(imgName));
} catch (IOException e) {
System.out.println(e.getMessage());
}
return null;
}
/**
* 导入网络图片到缓冲区
*/
public BufferedImage loadImageUrl(String imgName) {
try {
URL url = new URL(imgName);
return ImageIO.read(url);
} catch (IOException e) {
System.out.println(e.getMessage());
}
return null;
}
/**
* 生成新图片到本地
*/
public void writeImageLocal(String newImage, BufferedImage img) {
if (newImage != null && img != null) {
try {
File outputfile = new File(newImage);
ImageIO.write(img, "jpg", outputfile);
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
/**
* 设定文字的字体等
*/
public void setFont(String fontStyle, int fontSize) {
this.fontsize = fontSize;
this.font = new Font(fontStyle, Font.PLAIN, fontSize);
}
/**
* 修改图片,返回修改后的图片缓冲区(只输出一行文本)
*/
public BufferedImage modifyImage(BufferedImage img, Object content, int x,
int y) {
try {
int w = img.getWidth();
int h = img.getHeight();
g = img.createGraphics();
g.setBackground(Color.WHITE);
g.setColor(Color.orange);//设置字体颜色
if (this.font != null)
g.setFont(this.font);
// 验证输出位置的纵坐标和横坐标
if (x >= h || y >= w) {
this.x = h - this.fontsize + 2;
this.y = w;
} else {
this.x = x;
this.y = y;
}
if (content != null) {
g.drawString(content.toString(), this.x, this.y);
}
g.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return img;
}
/**
* 修改图片,返回修改后的图片缓冲区(输出多个文本段) xory:true表示将内容在一行中输出;false表示将内容多行输出
*/
public BufferedImage modifyImage(BufferedImage img, Object[] contentArr,
int x, int y, boolean xory) {
try {
int w = img.getWidth();
int h = img.getHeight();
g = img.createGraphics();
g.setBackground(Color.WHITE);
g.setColor(Color.RED);
if (this.font != null)
g.setFont(this.font);
// 验证输出位置的纵坐标和横坐标
if (x >= h || y >= w) {
this.x = h - this.fontsize + 2;
this.y = w;
} else {
this.x = x;
this.y = y;
}
if (contentArr != null) {
int arrlen = contentArr.length;
if (xory) {
for (int i = 0; i < arrlen; i++) {
g.drawString(contentArr[i].toString(), this.x, this.y);
this.x += contentArr[i].toString().length()
* this.fontsize / 2 + 5;// 重新计算文本输出位置
}
} else {
for (int i = 0; i < arrlen; i++) {
g.drawString(contentArr[i].toString(), this.x, this.y);
this.y += this.fontsize + 2;// 重新计算文本输出位置
}
}
}
g.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return img;
}
/**
* 修改图片,返回修改后的图片缓冲区(只输出一行文本)
*
* 时间:2007-10-8
*
* @param img
* @return
*/
public BufferedImage modifyImageYe(BufferedImage img) {
try {
int w = img.getWidth();
int h = img.getHeight();
g = img.createGraphics();
g.setBackground(Color.WHITE);
g.setColor(Color.blue);//设置字体颜色
if (this.font != null)
g.setFont(this.font);
g.drawString("reyo.cn", w - 85, h - 5);
g.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return img;
}
public BufferedImage modifyImagetogeter(BufferedImage b, BufferedImage d) {
try {
int w = b.getWidth();
int h = b.getHeight();
g = d.createGraphics();
g.drawImage(b, 100, 10, w, h, null);
g.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return d;
}
public static void main(String[] args) {
pic tt = new pic();
BufferedImage d = tt.loadImageLocal("D:\\11.jpg");
// BufferedImage b = tt
// .loadImageLocal("E:\\文件(word,excel,pdf,ppt.txt)\\zte-logo.png");
tt.writeImageLocal("D:\\cc.jpg",tt.modifyImage(d,"西昌苹果",90,90)
//往图片上写文件
);
//tt.writeImageLocal("D:\\cc.jpg", tt.modifyImagetogeter(b, d));
//将多张图片合在一起
System.out.println("success");
}
}
以上就是小编为大家带来的java 在图片上写字,两个图片合并的实现方法全部内容了,希望大家多多支持聚米学院~
java 两张图片合并_java 在图片上写字,两个图片合并的实现方法相关推荐
- java 图片上写字_java 在图片上写字,两个图片合并的实现方法
实例如下: package writeimg; import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; i ...
- php如何在图片上写字,php在图片上写字并生成图片
http://www.doczj.com/doc/db4fbed65022aaea988f0f0c.html涮涮网 用php在图片上写字(文字或数字),并生成新图片 下面是自己封装的一个函数: //调 ...
- python怎么在图片上写字_python在图片上写汉字
1.python opencv的putText只能画英文上去 2.借鉴这个https://blog.csdn.net/dcrmg/article/details/79108491 使用pil 首先,你 ...
- java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解
文章目录 前言 一.直接上代码 1. 写字方法 2. 换行算法 二. 叙述换行算法 前言 代码都上传到GitHub了,这里仅仅是贴出来主要部分,GitHub传送门:https://github.com ...
- chatgpt赋能python:Python将两张图片拼接成一张图:让您的图片处理更高效!
Python将两张图片拼接成一张图:让您的图片处理更高效! 作为一个有着10年Python编程经验的工程师,我发现Python成为了许多项目的主要语言,其中涵盖了很多关于图像处理的应用程序.在本文中, ...
- 怎么用html把字写到图片上,用HTML代码在图片上写字
一.以图片作为背景.在图片上写字,主要是在 里用到了(Spacer)空白. type="horizontal" align=#> 水平空白 align=center(居中), ...
- php上传图片限制类型,php,_使用php的图片上传类进行图片上传,总是提示:上传文件时出错 : 未允许类型 。都是默认的配置,php - phpStudy...
使用php的图片上传类进行图片上传,总是提示:上传文件时出错 : 未允许类型 .都是默认的配置 使用php的图片上传类进行图片上传,总是提示:上传文件时出错 : 未允许类型 .都是默认的配置 $upl ...
- 在自行下载的背景图片上写字
在背景图片上写字 1 下载并修改图片 2 代码 3 其它例子 3.1 不用空格分行 3.2 竖行 主要是参考了 写对联的代码,发散思维,联想到换成自己随便从网页上下载一张图片作为背景,在上面写字是不是 ...
- Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片
Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...
最新文章
- Redis SLAVE过期键策略
- STM32 基础系列教程 41 – SDMMC
- C语言中的关键字,变量的定义,变量的命名规则,交换两个变量的值,驼峰命名法【 C语言变量名命名法则】
- Qt5.12编译MySQl5.1.37驱动
- Java面向对象(四)final关键字
- 先验概率与后验概率、贝叶斯区别与联系
- html class和id,css教程之样式表的基本语法(二) class(类)和id的一个小实例
- 树状数组的建树 单点修改 单点查询 区间修改 区间查询
- 快速入门:OpenShift上的Spring Boot和WildfFly 8.2
- fileitem方法_FileItem的常用方法
- 1个月时间整理了2019年上千道Java面试题,近500页文档!
- Map、List、Set在Java中的各种遍历方法
- plsql查询无结果集_何恺明一作,刷新7项检测分割任务,无监督预训练完胜有监督...
- 如何c51和mdk共存兼容_如何使用无线技术控制大功率快速充电
- win10应用商店无法安装
- NginxWebUI - 图形化的 Nginx 配置管理工具
- Echarts 数据可视化 实现半圆饼图效果,渐变颜色
- android在体检报告叫什么,体检报告检测分析
- Qt:如何生成word报表
- 把一个人的特点写具体作文_把一个人的特点写具体作文800字