这在Photoshop中是一个相当简单的过程,但这是一个我想经常重复的过程,理想情况下不会为我想要的每个对象制作黑色填充图片。我尝试了几个边缘检测课程但没有成功。
我将如何做到这一点?
其他信息:这将是一种创建阴影的快捷方式。如果你能想出更好的方法,那就可以完全解决这个问题。
答案 0 :(得分:2)
你可以创建一个遍历所有像素的函数,并用黑色填充它们。
BufferedImage image = ...
Color fillColor = new Color(0, 0, 0); // Black
for (int y = 0; y < image.getHeight(); y++) {
for (int x = 0; x < image.getWidth(); x++) {
int color = image.getRGB(x, y);
int alpha = (color >> 24) & 0xff;
if (alpha == 255) {
image.setRGB(x, y, fillColor.getRGB());
}
}
}
显然,这只适用于完全不透明的像素。如果顶部的图像包含一些透明度,您还可以将条件更改为更宽容:if (alpha > 127)
。这将填充透明度小于50%的所有像素。
答案 1 :(得分:0)
在Photoshop中,您可以使用名为Actions的内容。 This can get you started。由于每个PNG文件的主层都称为第0层,因此这适用于每个文件。记录将第0层的图层样式设置为黑色的操作。然后保存文件并停止记录操作。使用文件&gt;&gt;自动化&gt;&gt;批量在许多文件上执行此操作。如果你犯了错误,我建议保存文件的备份。