16

У меня есть файл PNG-24 с прозрачным фоном, и его текущий размер составляет 1,5 МБ. Как уменьшить размер или использовать формат файла PNG-8 и сохранить то же качество?

Файл PNG отсюда:http://www19.zippyshare.com/v/69590430/file.html

Пример загруженного изображения Я перепробовал все предложения, но безрезультатно, пожалуйста, сообщите

Спасибо

10 ответов10

9

Бунт может сделать это, и многое другое.

Radical Image Optimization Tool (RIOT для краткости) - это бесплатный оптимизатор изображений, который позволит вам визуально настроить параметры сжатия, сохраняя при этом минимальный размер файла.

Он использует интерфейс параллельного просмотра (двойного просмотра) или единого просмотра, чтобы сравнить оригинал с оптимизированным изображением в режиме реального времени и мгновенно увидеть полученный размер файла.

Оптимизатор изображения легкий, быстрый и простой в использовании, но мощный для опытных пользователей. Вы сможете контролировать сжатие, количество цветов, настройки метаданных и многое другое, а также выбрать формат изображения (JPEG, GIF или PNG) для вашего выходного файла.

Другая возможность - использовать комбинацию pngquant, pngout и pngcrush, как описано здесь, но это из командной строки.

Вот инструкции, как преобразовать изображения png24 в png8 для ie6 совершенства, все через командную строку, используя инструменты с открытым исходным кодом (я думаю) pngquant +pngout + pngcrush.

1 - квантовать изображение на 256 (поэтому в основном png8 выглядит дерьмово с большими спрайтами или спрайтами с большой цветовой гаммой).

pngquant 256 some_24_bit.png

2 - преобразовать изображение из png24 в png8

pngout -c3 -d8 -y -force some_24_bit.png some_8_bit.png

3- сжать изображение

pngcrush some_8_bit.png -bit_depth 8 -брюк -рем алла -снизить some_8_bit_small.png

6

Попробуйте TinyPNG

С их сайта:

Как это работает?

Когда вы загружаете файл PNG (Portable Network Graphics), похожие цвета в вашем изображении объединяются. Эта техника называется «квантование». Поскольку количество цветов уменьшено, 24-битные файлы PNG могут быть преобразованы в намного меньшие 8-битные индексированные цветные изображения. Все ненужные метаданные тоже удаляются. Результат: крошечные файлы PNG со 100% поддержкой прозрачности.

У них есть два варианта:

  • Перетащите изображения на их сайт, и он будет автоматически обработан. Бесплатный сервис (До 20 изображений. Макс 5 МБ каждый)
  • Фотошоп плагин. Это стоит $.

Я не пробовал плагин PS, поэтому не могу комментировать, насколько хорошо он работает.

6

PNG - это формат сжатия без потерь - без изменения исходного материала в файле очень мало способов увеличить сжатие сверх стандартного уровня сжатия. Единственный реальный способ уменьшить размер - это изменить изображение, уменьшив разрешение или глубину цвета, чтобы сжатие PNG было менее сложным для работы.

Если вы хотите получить высокий уровень сжатия изображения и не заботитесь о хранении данных без потерь, используйте JPEG.

5

Если вы не возражаете против командной строки, взгляните на OptiPNG, это может быть то, что вы ищете.

OptiPNG - это оптимизатор PNG, который сжимает файлы изображений до меньшего размера, не теряя никакой информации. Эта программа также преобразует внешние форматы (BMP, GIF, PNM и TIFF) в оптимизированный PNG и выполняет проверки и исправления целостности PNG.

3

Хорошей идеей для обработки PNG с альфа-каналом в контексте разработки веб-сайта было бы позволить серверу выполнить свою задачу за вас: динамически отделить данные изображения от альфа-канала на сервере, оптимизировать их по отдельности и рекомбинировать их, используя элемент canvas и немного JavaScript в браузере. Ta-Da! Работает со всеми современными браузерами.

Здесь объясняется, как это делается:

http://headers-already-sent.com/artikel/shrinkimage-1/

Вы также найдете полный пакет ZIP с PHP-скриптом и плагином jQuery. Дайте нам знать, что вы думаете об этом.

3

Используйте комбинацию pngout и deflopt. pngout автоматически определит, подходят ли ваши цвета PNG к PNG-8, и использует его. deflopt некоторые дополнительные байты из уже оптимизированного изображения - это полезно для работы с любыми дефлированными данными, и PNG является одним из них.

1

Если вам действительно нужно уменьшить изображение, и все простые предложения не сработают, окончательный ответ - разбить изображение на сжимаемые части и объединить их на клиенте с помощью сценариев.

Изображение из вопроса выглядит как цветовой градиент с вертикальными линиями и некоторыми пятнами / шумом. Разбейте это на следующие слои:

  1. Цветовой градиент без линий или шума. Это хорошо сжимает в PNG и очень хорошо в JPEG. Еще лучше использовать JavaScript для создания цветового градиента на клиенте. Вы могли бы сделать это менее чем за 200 байтов JS.
  2. Вертикальные линии без цвета и шума. Вы можете сжать это до одного 4-битного канала (альфа или серый). Вам нужно только 1 пиксельное изображение, которое вы можете растянуть. Это очень хорошо сжалось бы в PNG.
  3. Шум. Опять же, все, что вам нужно, это один 4-битный канал (альфа или серый). Без цвета или линий это должно очень хорошо сжиматься в PNG или JPEG.

Объедините слои в одно изображение с помощью JavaScript, и все ваше "изображение" может быть 15 КБ или меньше.

Такая работа была отраслевым стандартом в играх на протяжении десятилетий, и до сих пор остается. Самое замечательное, что в Photoshop уже есть все эти отдельные слои, если вы создали свое изображение как профессионал.

1

Стандартные файлы PNG уже являются наиболее сжатым форматом изображений, который вы можете использовать, поэтому файлы PNG так часто используются для изображений на веб-сайтах, особенно в целях дизайна.

Но есть еще способ сжать файлы PNG еще дальше; уменьшая количество цветов, используемых в изображении. Это часто может уменьшить размер файла до 70% или даже выше.

Лучшее автоматизированное бесплатное программное обеспечение с самым высоким общим процентом сжатия, которое я нашел для этого, - это FileOptimizer, который использует несколько механизмов (т.е. PngOptimizer, PNGOUT, pngwolf и т.д.), Чтобы сжать изображение до минимально возможного размера.

Вот еще один онлайн-инструмент с хорошими результатами: http://www.giftofspeed.com/png-compressor/

1

Позвольте мне представить FileOptimizer. Он сочетает в себе различные методы для оптимизации изображения (в том числе удаление EXIF для сохранения нескольких лишних байтов - можно отключить).

Результаты испытаний и сравнение с другими решениями.

0

ScriptPNG http://css-ig.net/scriptpng

это дает вам около 10 различных вариантов, включая с потерями! Я попробовал кучу, и этот пакетный файл Windows (с кучей .exes) отлично

Я лично использую его для сжатия до 8-битных с потерями. Не совсем уверен, как это работает, но мои скриншоты выглядят одинаково. Я использую его для сжатия скриншотов. У меня было около 2 ГБ PNG, теперь только 700 МБ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .