我使用自定义批处理脚本来调整文件夹中所有PNG图像的大小调整后的副本(33%和66%)。这是我的代码:使用ImageMagick调整带索引的PNG图像,同时保留颜色图
for f in $(find /myFolder -name '*.png');
do
sudo cp -a $f "${f/%.png/-3x.png}";
sudo convert $f -resize 66.67% "${f/%.png/-2x.png}";
sudo convert $f -resize 33.33% $f;
done
它工作正常,除了当原始图像索引。在这种情况下,图像的较小版本是RGB(因此甚至更大的文件大小,然后原始图像)。
我尝试了几个版本,但没有工作。我猜应该把这个问题整理出来:
for f in $(find /myFolder -name '*.png');
do
sudo cp -a $f "${f/%.png/-3x.png}";
sudo convert $f -define png:preserve-colormap -resize 66.67% "${f/%.png/-2x.png}";
sudo convert $f -define png:preserve-colormap -resize 33.33% $f;
done
但它不起作用。
编辑:
这是更新的合作,但它仍然是它应该(见附件图像左边是原始的,权调整)不工作:
for f in $(find /myFolder -name '*.png');
do
sudo cp -a $f "${f/%.png/-3x.png}";
numberOfColors=`identify -format "%k" $f`
convert "$f" \
\(+clone -resize 66.67% -colors $numberOfColors -write "${f/%.png/-2x.png}" +delete \) \
-resize 33.33% -colors $numberOfColors "$f"
done
是否需要保留特定的精确色彩映射?或者您希望确定调整大小的图像很小并且索引为* a *颜色映射,但您并不介意该颜色映射中包含什么内容?答案会有所不同。 –
我不介意彩色地图。我想确保调整后的图像很小。这是网络上的视网膜图像。第一张(原始图像)用于带有3dpi屏幕的屏幕等。 –
请您分别提供原始图像 - 而不是加入到输出图像。 –