packagecom.yin.text;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics2D;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjavax.imageio.ImageIO;/*** 在图片上编辑文本内容
*@version2018-2-27 上午11:12:09
**/
public classPicture1
{private Font font = new Font("宋体", Font.PLAIN, 12); //添加字体的属性设置
private Graphics2D g = null;private int fontsize = 0;private int x = 0;private int y = 0;/*** 导入本地图片到缓冲区*/
publicBufferedImage loadImageLocal(String imgName) {try{return ImageIO.read(newFile(imgName));
}catch(IOException e) {
System.out.println(e.getMessage());
}return null;
}/*** 生成新图片到本地*/
public voidwriteImageLocal(String newImage, BufferedImage img) {if (newImage != null && img != null) {try{
File outputfile= newFile(newImage);
ImageIO.write(img,"jpg", outputfile);
}catch(IOException e) {
System.out.println(e.getMessage());
}
}
}/*** 修改图片,返回修改后的图片缓冲区(只输出一行文本)*/
public BufferedImage modifyImage(BufferedImage img, Object content, int x, inty) {try{int w =img.getWidth();int h =img.getHeight();
g=img.createGraphics();
g.setBackground(Color.RED);//设置背景颜色
g.setColor(Color.BLUE);//设置字体颜色
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());
}returnimg;
}public static voidmain(String[] args) {
Picture1 tt= newPicture1();
BufferedImage d= tt.loadImageLocal("C:/1.jpg");//往图片上编辑内容
tt.writeImageLocal("C:/new1.jpg", tt.modifyImage(d, "这是文本内容啦啦啦啦啦", 0, 200));
System.out.println("success");
}
}