类似于这个网站教我的大规模重新缩放命令这里,是否有用于批量重新着色的命令行技巧?
具体来说,假设我有一堆具有 RGB 和 alpha 值的图像:
apple_original.png
pear_original.png
banana_original.png
等等。我希望有一个命令行命令可以给我以下信息:
apple_orange.png
pear_orange.png
banana_orange.png
在每种情况下,每个像素的 R、G 和 B 值分别乘以 1、0.5 和 0,而 alpha 保持不变。这可能吗?
答案1
答案2
感谢 Ignacio 的精彩提示。根据提示,以下是答案:
首先,转换单个文件。假设我们要将 test.png 转换为 orangeTest.png,分别将 R、G 和 B 乘以 1.0、0.5 和 0.0。命令如下:
convert test.png xc:'rgb(255,127,0)' -fx 'u*v.p{0,0}' orangeTest.png
现在,进行批量转换:
for i in *.png;
do convert "$i" xc:'rgb(255,127,0)' -fx 'u*v.p{0,0}' "${i%.*}_orange.png";
done