уменьшить все изображения в zip, чтобы быть исправлены (КБ) с помощью Imagemagick конвертировать - PullRequest
0 голосов
/ 27 марта 2019

Я использую Imagemagick, мне интересно, как я могу уменьшить внутри zip все fe jpg изображения внутри и изменить их размер на 40K.

До сих пор я пробовал

в соответствии с:

https://gist.github.com/rkbhochalya/d3557a9d122ab547c040af3adbd565c2

 find . -name "*.jpg" -exec convert -define jpeg:extent=40kb "{}" -sampling-factor 4:2:0 -strip -colors 16 -depth 8  -define jpeg:extent=38kb "{}" \; -exec echo "{}" \;

, но это только снижает скорость передачи и цвета до 16, что нормально, но не достаточно.

пробовал magick mogrify -strip -colors 16 -depth 8 -quality 90 assets/*.jpg

но все же мне нужно уменьшить до 40К каждое изображение

enter image description here

спасибо,

1 Ответ

1 голос
/ 28 марта 2019

Попробуйте использовать mogrify, а не конвертировать. Он будет обрабатывать все изображения в каталоге. Смотри https://imagemagick.org/Usage/basics/#mogrify.

Но вы никогда не получите такую ​​команду, чтобы получить размер файла PNK 40 КБ, если ваши размеры не очень малы. Попробуйте сохранить как JPG. Определение экстента JPEG работает только для сохранения в JPG.

Так что для сохранения в формате JPG, если у меня есть изображения на рабочем столе в папке test1 и я хочу сохранить в папке test2 на рабочем столе, я бы сделал

cd
cd desktop/test1
mogrify -path ../test2 -format jpg -strip -depth 8 -define jpeg:extent=40kb *


Если вы действительно хотите сохранить в формате PNG, лучшее, что вы можете сделать, - это (или еще больше уменьшить цвета)

cd
cd desktop/test1
mogrify -path ../test2 -format png -strip +dither -colors 16 -type palette -depth 8 *


Но если ваши изображения имеют очень малую ширину и высоту, ни один не опустится до 40К. Вы можете попробовать добавить -quality, но значения качества для PNG отличаются от JPG. Смотри https://imagemagick.org/script/command-line-options.php#quality

Я думаю, что сохранение в формате JPG даст вам лучший шанс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...