我使用自定義批處理腳本來調整文件夾中所有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屏幕的屏幕等。 –
請您分別提供原始圖像 - 而不是加入到輸出圖像。 –