这不是一个愚蠢的问题。比方说,我们只有很多黑色的png icons
(超过100个),但是它们可能包含多个不相关的元素,例如:
我要实现的是将所有这些图形设置为颜色和automatically
颜色(填充黑色内容),而其余参数保持不变(格式/分辨率)。是否应该应用任何库或方法来执行此任务?
谢谢
最佳答案
这是一个可以完成此操作的小程序:
public static void main(String[] args) {
final String directoryPath = "C:\\images";
final String outputPath = "C:\\images\\out";
final int color = 0x00ff0000;
File directory = new File(directoryPath);
File[] files = directory.listFiles();
if (files == null) {
return;
}
for (File file : files) {
String extension;
int extensionIndex = file.getName().lastIndexOf('.');
if (extensionIndex > 0) {
extension = file.getName().substring(extensionIndex + 1);
} else {
extension = "bmp";
}
BufferedImage image;
try {
image = convert(ImageIO.read(file), BufferedImage.TYPE_INT_ARGB);
for (int i = 0; i < image.getWidth(); i++) {
for (int j = 0; j < image.getHeight(); j++) {
image.setRGB(i, j, image.getRGB(i, j) | color);
}
}
File newFile = new File(outputPath + "\\" + file.getName());
ImageIO.write(image, extension, newFile);
} catch (IOException e) {
// Handle
}
}
}
我使用了这篇文章的转换方法:How to convert between color models
关于java - 自动填色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26434449/