package com.cp.img;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
/**
* 图片水印
*
* @author Thinkpad
*
*/
public class ImgWatermark {
private SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
private SimpleDateFormat fmtRname = new SimpleDateFormat("yyyyMMdd_HHmmss");
String dir = "C:\\Users\\Thinkpad\\Desktop\\新建文件夹";
public static void main(String[] args) throws FileNotFoundException, IOException {
ImgWatermark img = new ImgWatermark();
for (File f : img.scan(img.dir)) {
img.print(f);
}
}
public List<File> scan(String path) {
List<File> list = new ArrayList<File>();
File file = new File(path);
if (!file.exists())
return list;
if (file.isDirectory()) {
for (File f : file.listFiles()) {
list.add(f);
}
} else {
list.add(file);
}
return list;
}
public void print(File file) throws FileNotFoundException, IOException {
BufferedImage img = ImageIO.read(file);
int w = img.getWidth(), h = img.getHeight();
int x = (int) (w * 0.65), y = (int) (h * (w > h ? 0.9 : 0.95));
Graphics g = img.getGraphics();
g.setColor(Color.RED);// Arial
g.setFont(new Font("汉仪雪君体简", Font.BOLD, w / 32));
long time=file.lastModified();
g.drawString(fmt.format(time), x, y);
ImageIO.write(img, file.getAbsolutePath().substring(file.getAbsolutePath().lastIndexOf(".") + 1), file);
file.setLastModified(time);
System.out.println(file.getAbsolutePath() + ",处理完成");
}
}
sd