java 图片编辑_java实现在图片上编辑文本内容

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");

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值