Оптимизация размера png


ramok аватар

ramok - Posted on 25 Август 2008

При работе с .png изображениями иногда проходят чудеса:

$ ls -l screen-split*
-rw-r--r-- 1 ramok ramok 51819 Авг 20 21:30 screen-split.png
$ convert -resize 640x480 screen-split.png screen-split.thumbnails.png
$ ls -l screen-split*
-rw-r--r-- 1 ramok ramok  51819 Авг 20 21:30 screen-split.png
-rw-rw-r-- 1 ramok ramok 836526 Авг 21 21:54 screen-split.thumbnails.png

Как видно уменьшив разрешение картики, размер увеличился в 16 раз. Почему это происходит точно я не знаю, говорят что то о неиндексиованной палитре.
Но с этим боротся можно специальными оптимизаторами .png

$ pngnq screen-split.thumbnails.png
$ ls -l screen-split*
-rw-r--r-- 1 ramok ramok  51819 Авг 20 21:30 screen-split.png
-rw-rw-r-- 1 ramok ramok 112174 Авг 21 21:54 screen-split.thumbnails-nq8.png
-rw-rw-r-- 1 ramok ramok 836526 Авг 21 21:54 screen-split.thumbnails.png

Как видно ужали примерно в 8 раз. Лучше чем ничего Ж:-) Само собой у pngnq есть множество опций для большего сжатия за счет качества.

Существуют еще пару подбоных утилит pngcrush и optipng, но они ужимаю без потери качества и в результе сжимают не так сильно.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Хочу немного добавить. Только что зашёл на ресурс, чтобы добавить статью как массово переименовать файлы, а тут наткнутлся на дободный топик, вообщем:

$ find . -iname "*.jpg" | perl -e 'for(<>) { chomp $_;@a=split(/\//,$_);$str = "convert -resize 50% -quality 80 $_ small/".$a[-1];print $str."\n";`$str`}'

на авторство не претендую, упёрто отсюда:
http://www.perturb.org/display/entry/632/

вот тут как раз совет для этой ссылки. добавлю туда перекрёсную ссылку Ж:-)

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.