Comments 37
Качество при этом всем не теряется?
0
В основе формата лежит сжатие без потерь. Так что если принудительно цветовую палитру не потрошить — никаких потерь качества не будет.
0
Нет, разработчики заявляют что все остается как было.
По моим субъективным оценкам тоже ничего не теряется.
Хотя для фотографий наверно лучше использовать старый JPEG или PNG24.
По моим субъективным оценкам тоже ничего не теряется.
Хотя для фотографий наверно лучше использовать старый JPEG или PNG24.
-2
Image-Mode-Indexed — качество теряется, если в исходной картинке было больше 256 цветов. Например, пара-тройка разноцветных градиентов.
0
Под 256 цветами понимается стандартная палитра или же просто изображение не сможет содержать более 256 цветов? (оттенков серого например)
0
Что собой представлет «стандартная 256-цевтовая палитра»?
0
256 цветов при выборе количества цветов экрана например. Я правильно понимаю что разговор не об этом и в формате файла просто установлено ограничение на количество цветов в палитре?
0
просто больше 256 цветов.
0
Пользуюсь PNGOut, можно поставить как плагин к Photoshop. Сжимает раза в 2-3.
0
UFO just landed and posted this here
Все-таки нехорошо дискриминировать людей по используемой системе контроля пакетов. Можно было и ссылки на домашние страницы OptiPNG и AdvanceCOMP дать.
0
Для FreeBSD
OptiPNG:
инсталлировать из порта:
или
инсталлировать из пакета:
AdvanceCOMP:
инсталлировать из порта:
или
инсталлировать из пакета:
OptiPNG:
инсталлировать из порта:
cd /usr/ports/graphics/optipng/ && make install clean
или
инсталлировать из пакета:
pkg_add -r optipng
AdvanceCOMP:
инсталлировать из порта:
cd /usr/ports/archivers/advancecomp/ && make install clean
или
инсталлировать из пакета:
pkg_add -r advancecomp
0
Похоже, что автор советов не понимает, как png работает, и советы дает эмпирические какие-то. Ну да, оптимизатор png использовать — это правильно и полезно.
Совет номер 1 — бред. В лучшем случае способ сжатия png (выбранный алгоритм) по умолчанию в какой-то программе. Или вообще какая-то психология, основанная на смутных воспоминаниях о том, что гиф градиенты вертикальные сжимать не умеет. С учетом последующего применения optipng какого-нибудь размеры файлов окажутся примерно одинаковыми. Отличия будут уже из-за особенностей конкретных картинок, удачности (с точки зрения алгоритмов png) цветовых переходов на стыках, и результат может оказаться как в пользу горизонтального изображения, так и в пользу вертикального.
Совет номер 2 — ничего не сказано про то, что это может оказаться сжатием с потерями. Насжимают начинающие верстальщики пнг с несколькими градиентами разных цветов в indexed mode, получат бяку. Догадайтесь почему называется.
Совет номер 1 — бред. В лучшем случае способ сжатия png (выбранный алгоритм) по умолчанию в какой-то программе. Или вообще какая-то психология, основанная на смутных воспоминаниях о том, что гиф градиенты вертикальные сжимать не умеет. С учетом последующего применения optipng какого-нибудь размеры файлов окажутся примерно одинаковыми. Отличия будут уже из-за особенностей конкретных картинок, удачности (с точки зрения алгоритмов png) цветовых переходов на стыках, и результат может оказаться как в пользу горизонтального изображения, так и в пользу вертикального.
Совет номер 2 — ничего не сказано про то, что это может оказаться сжатием с потерями. Насжимают начинающие верстальщики пнг с несколькими градиентами разных цветов в indexed mode, получат бяку. Догадайтесь почему называется.
+2
Похоже вы не обратили внимания на упоминание редактора Gimp…
0
И что? В любом случае, независимо от того, используется ли GIMP, Photoshop, MS Paint или любой другой редактор, нет смысла располагать картинки горизонтально, если потом жать все с помощью OptiPNG.
+1
Как это ни странно, но:
1. Создайте в GIMP изображение 800x100px и разрисуйте его равномерно (у меня получилось на 9.9Кб). Сохраните (hgimp.png).
2. Поверните это изображение на 90 градусов (у меня получилось 12.9). Сохраните (vgimp.png).
3. После обработки OptiPNG и AdvanceCOMP
hgimp.png=9.5Кб
vgimp.png=12.4Кб
Обратите внимание, что это еще не самый удачный пример, иногда разница бывает гораздо больше. Я говорю только о редакторе Gimp.
1. Создайте в GIMP изображение 800x100px и разрисуйте его равномерно (у меня получилось на 9.9Кб). Сохраните (hgimp.png).
2. Поверните это изображение на 90 градусов (у меня получилось 12.9). Сохраните (vgimp.png).
3. После обработки OptiPNG и AdvanceCOMP
hgimp.png=9.5Кб
vgimp.png=12.4Кб
Обратите внимание, что это еще не самый удачный пример, иногда разница бывает гораздо больше. Я говорю только о редакторе Gimp.
0
Есть PngOptimizer для Windows. Оптимизирует PNG, GIF, BMP и TGA файлы.
0
Ночью погонял optipng, pngout, advpng и pngcrush. Точной статистики с красивыми графиками и цифрами давать не буду, ибо каждой утилитой посжимал около 200 очень разношерстных изображений, от скриншотов окон и 2-3 цветных логотипов до скриншотов игр и фильмов\аниме. Вот к какому выводу я пришел:
pngcrush — явный аутсайдер, pngcrush -brute image.png заметно проигрывал всем остальным по степени сжатия и в скоре я его вообще исключил из тестирования. Если это результат слабого чтения манов и неоптимальных опций — милости прошу со сравнительными результатами.
optipng — на мой взгляд самый оптимальный инструмент для полностью автоматической оптимизации изображений, т.к. дает хороший результат и может перебором угадывать параметр png фильтра, а так же автоматически уменьшает цветность изображения.
advpng — что-то странное. Во первых работает на порядок быстрее остальных. Во вторых степень оптимизации варьируется что называется от плюс до минус бесконечности, то выдаст результат в 2-3 раза больший по размеру, чем всех конкурентов, то уже оптимизированные изображения, за сущие байты которых сражались optipng и pngout врдуг волшебным образом уменьшит еще на 10%.
pngout — самая интересная утилита из всего набора.
Во первых в ней используется собственный алгоритм deflate-сжатия, не использующий zlib, от сюда, по видимому и результат: стабильно сжимает уже оптимизированные optipng изображения еще на 5-10%.
Во вторых имеет интересную опцию "-r Randomized initial tables (good for many trials with same options)", которая, как следует из описания может, и в основном таки уменьшает изображение за несколько повторных попыток оптимизации с разными начальными таблицами.
Главные недостатки pngout: не умеет автоматически уменьшать количество цветов изображения и подбирать правильный png фильтр.
Из всего этого я вывел для себя оптимальный вариант получить ближайший к максимальному уровень оптимизации в автоматическом режиме, простой код на bash:
for i in *.png; do
optipng -o7 "$i" # начальная оптимизация изображения, уменьшение цветности и подбор правильного фильтра
pngout -r -ks "$i" # 3 прохода pngout
pngout -r -ks "$i" # с сохранением опций фильтра и цветности
pngout -r -ks "$i" # для получения лучшего результата
advpng -z4 "$i" # скорее всего не поможет, но учитывая то, что работает очень быстро и иногда выдает «чудеса» оптимизации — пусть будет
pngcrush — явный аутсайдер, pngcrush -brute image.png заметно проигрывал всем остальным по степени сжатия и в скоре я его вообще исключил из тестирования. Если это результат слабого чтения манов и неоптимальных опций — милости прошу со сравнительными результатами.
optipng — на мой взгляд самый оптимальный инструмент для полностью автоматической оптимизации изображений, т.к. дает хороший результат и может перебором угадывать параметр png фильтра, а так же автоматически уменьшает цветность изображения.
advpng — что-то странное. Во первых работает на порядок быстрее остальных. Во вторых степень оптимизации варьируется что называется от плюс до минус бесконечности, то выдаст результат в 2-3 раза больший по размеру, чем всех конкурентов, то уже оптимизированные изображения, за сущие байты которых сражались optipng и pngout врдуг волшебным образом уменьшит еще на 10%.
pngout — самая интересная утилита из всего набора.
Во первых в ней используется собственный алгоритм deflate-сжатия, не использующий zlib, от сюда, по видимому и результат: стабильно сжимает уже оптимизированные optipng изображения еще на 5-10%.
Во вторых имеет интересную опцию "-r Randomized initial tables (good for many trials with same options)", которая, как следует из описания может, и в основном таки уменьшает изображение за несколько повторных попыток оптимизации с разными начальными таблицами.
Главные недостатки pngout: не умеет автоматически уменьшать количество цветов изображения и подбирать правильный png фильтр.
Из всего этого я вывел для себя оптимальный вариант получить ближайший к максимальному уровень оптимизации в автоматическом режиме, простой код на bash:
for i in *.png; do
optipng -o7 "$i" # начальная оптимизация изображения, уменьшение цветности и подбор правильного фильтра
pngout -r -ks "$i" # 3 прохода pngout
pngout -r -ks "$i" # с сохранением опций фильтра и цветности
pngout -r -ks "$i" # для получения лучшего результата
advpng -z4 "$i" # скорее всего не поможет, но учитывая то, что работает очень быстро и иногда выдает «чудеса» оптимизации — пусть будет
0
Не поверите — но pngcrush можно использовать для сжатия Png… в реальном времени.
максимум сжатия — 30-40%, за 10-40 мсек
а вот optipng уже в два раза медленее работает, хоть и сжимает на 5-10% лучше…
максимум сжатия — 30-40%, за 10-40 мсек
а вот optipng уже в два раза медленее работает, хоть и сжимает на 5-10% лучше…
0
Что собой представляет «сжатие png в реалньом времени»? В реальном времени можно кодировать видео, звук, но не изображение.
0
подразумевается возможность уменьшения размера изображения при отдаче ее клиенту без серьезных задержек…
0
эмм, а можно пример использования сжатия именно перед отправкой изображения, а не при его создании\помещении в ахрив? Онлайн-рисовалка с возможностью сохранить свою мазню?
0
И зачем карты динамически оптимизировать именно перед отправкой клиенту? Этим надо заниматься во время поступления карт в базу и/или постепенно во время разгрузки сервера.
0
оптимизируются после перегенерации сегмента, ну и есно до отправки клиенту\сохранения на диск…
тут два момента — кеш хит ~50%, те 50% запросов генерим он деманд, и 10Мбит у сервера.
Сейчас канал загружен на 60%, без краша будет 80-90%
А вот cpu только на 20% загружен
тут два момента — кеш хит ~50%, те 50% запросов генерим он деманд, и 10Мбит у сервера.
Сейчас канал загружен на 60%, без краша будет 80-90%
А вот cpu только на 20% загружен
0
а можно поинтересоваться, что за изображения вы отдаете клиентам, точнее какой размер они должны иметь, чтобы pngcrush прогонял их за 10-40 мсек. Скрин этого окна гонялся в нем на дефолтных настройках секунду с небольшим и свой процессор я таки не считаю слабым.
0
нашел еще статейку до кучи. хоть и на сайте сами знаете кого, но тоже по теме.
0
Sign up to leave a comment.
Памятка по оптимизации PNG