package Tx;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Random;
public class Sy {
public static void main(String[] args) {
waters(new File("D:\\asdfa\\1"));
// water(new File("D:\\asdfa\\abc.png"),"abcc");
}
public static void waters(File dir) {
if (dir.isDirectory()) {
for (File f : dir.listFiles()) {
if (f.isDirectory()) {
waters(f);
}
if (f.isFile() && f.getName().endsWith(".png")) {
water(f, "ahuoa");
}
}
}
if (dir.isFile() && dir.getName().endsWith(".png")) {
water(dir, "ahuoa");
}
}
public static void water(File file, String text) {
String f = file.getName();
String t = f.substring(f.lastIndexOf(".") + 1).toLowerCase();
try {
BufferedImage i = ImageIO.read(file);
int width = i.getWidth();
int height = i.getHeight();
Graphics2D g = i.createGraphics();
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT);
Font font = Font.createFont(Font.TRUETYPE_FONT, new File("C:\\Users\\ssss\\Desktop\\asd.TTF"));
//System.out.println(font);
font = new Font("宋体",Font.BOLD,55);
font = font.deriveFont(Font.PLAIN, 55);
g.setFont(font);
FontMetrics fm = g.getFontMetrics();
int fw = fm.stringWidth(text);
int fh = fm.getAscent() - (fm.getHeight() - (fm.getAscent()));
int x = (width - fw) / 2;
int y = (height - fh) / 2 + fh;
Color color = new Color(255, 0, 0);
g.setColor(color);
g.drawString(text, x, y);
g.dispose();
ImageIO.write(i, t, file);
} catch (Exception e) {
e.printStackTrace();
}
}
}
添加后效果图: