锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
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);// 娣誨姞瀛椾綋鐨勫睘鎬ц緗?/p>
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錛歵rue琛ㄧず灝嗗唴瀹瑰湪涓琛屼腑杈撳嚭錛沠alse琛ㄧず灝嗗唴瀹瑰琛岃緭鍑?br /> */
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(" 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));
//灝嗗寮犲浘鐗囧悎鍦ㄤ竴璧?br /> System.out.println("success");
}
}