Безжалостное сжатие больших изображений для Интернета

У меня очень большое фоновое изображение (около 940x940 пикселей), и мне интересно, есть ли у кого-нибудь советы по сжатию файла, который больше, чем Photoshop может обрабатывать? Лучшее сжатие без серьезной потери качества из Photoshop - PNG 8 (250 КБ); кто-нибудь знает способ сжать изображение дальше, чем это (возможно, сжать PNG после его сохранения)?

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

Ответ 1

Посмотрите http://www.irfanview.com/, это старый, но хороший.

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

Существует также PNGOUT, доступный здесь http://advsys.net/ken/utils.htm, что, по-видимому, очень хорошо.

Ответ 2

Сначала это зависит от того, какой образ вы пытаетесь сжать. Две основные категории:

  • Изображение
  • Иллюстрация

Для изображений (например, фотографий), формат сжатия с потерями, например JPEG будет лучше, поскольку он удалит детали, которые не так легко заметить визуальным восприятием человека. Это позволит обеспечить очень высокую степень сжатия для качества. Недостатком является то, что чрезмерное сжатие приведет к очень заметным артефактам сжатия.

Для иллюстраций, которые содержат большие области одного цвета, используя формат сжатия без потерь, например PNG или GIF будет лучшим подходом. Хотя это и не является технически корректным, вы можете думать, что PNG и GIF очень хорошо сжимают повторения одного и того же цвета, подобно кодировке длины пробега (RLE).

Теперь, как вы уже упоминали о PNG, я расскажу об этом из моего опыта использования PNG.

Во-первых, сжатие PNG далее не является жизнеспособным вариантом, поскольку невозможно сжать данные, которые уже были сжаты. Это верно при любом сжатии данных; удаление entropy из исходных данных (в основном, повторяющиеся шаблоны, которые могут быть представлены более компактными способами) приводит к уменьшению количества пространство, необходимое для хранения информации. PNG уже использует методы для эффективного сжатия изображений без потерь.

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

В основном это приведет к некоторым пробным ошибкам, чтобы увидеть, будут ли изменения в изображении приводить к изменениям в стиле quailty и размере файла.


Комментарий Пола Фишера напомнил мне, что я, вероятно, также не рекомендую использовать GIF. Павел указывает, что PNG сжимает статическое линейное искусство лучше, чем GIF, практически для каждой ситуации.

Я бы также отметил, что GIF поддерживает только 8-битные изображения, поэтому, если изображение имеет более 256 цветов, вам придется уменьшить используемые цвета.

Кроме того, комментарий Кент Фредрик о снижении глубины цвета в некоторых ситуациях заставил увеличить размер файла. Хотя это предположение, возможно, что dithering приводит к тому, что изображение становится менее сжимаемым (поскольку сглаживание вводит пиксели с различным цветом для имитации некоторый другой цвет, вроде как смешивание пигмента различной цветной краски, заканчивающийся другим цветом), введя больше энтропии в изображение.

Ответ 3

Вот, что другие плакаты, возможно, не заметили, что я обнаружил экспериментально:

В некоторых установках поведение по умолчанию заключается в сохранении полной копии цветового профиля изображения вместе с изображением.

То есть, карта калибровки устройства, как правило, SRGB или что-то подобное, которая сообщает агентам, как наилучшим образом сопоставить цвет с реальными мировыми цветами, а не с независимыми устройствами.

Этот профиль изображения, однако, довольно большой и может сделать некоторые из файлов, которые вы ожидаете быть очень маленькими, чтобы быть очень большими, например, 1px на 1px изображение, потребляющее массивную 25kb. Даже чистый формат BMP (несжатый) может представлять собой 1 пиксель меньше.

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

Вы можете разбить эти данные с помощью другого инструмента, такого как gimp, но это может быть немного трудоемким, если есть много файлов.

Ответ 4

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

Ответ 5

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

Ответ 6

Smush.It утверждает, что "выходит за рамки ограничений Photoshop". И это бесплатно и в Интернете.

Ответ 7

Это зависит от типа изображения. Если у него много твердых цветов и узоров, то PNG или GIF, вероятно, лучше всего. Но если это фотореалистичное изображение, то JPG будет лучше - и вы сможете поднять качество JPG до того момента, когда вы получите компромисс сжатия/качества, который вы ищете (Photoshop очень хорошо показывает вам предварительный просмотр окончательное изображение при настройке качества).

Ответ 8

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

Прежде всего следует рассмотреть вопрос о том, должна ли резолюция быть такой большой. Уменьшение разрешения на 10% в обоих направлениях уменьшает размер файла на 19%.

Затем попробуйте несколько различных алгоритмов сжатия с различными степенями сжатия по сравнению с информацией/потерей качества. Если изображение является отрывочным, вы можете уйти с довольно строгим сжатием JPEG.

Ответ 9

Я бы это сделал, если вы абсолютно не уверены, что у вас есть пропускная способность.

next - jpeg2k.

Ответ 10

Чтобы получить больше информации из файла JPEG, вы можете использовать "Измененную настройку качества" диалогового окна "Сохранить как веб".

  • Создайте маску/выделение, содержащую белый цвет, где вы хотите сохранить наиболее подробно, eq вокруг текста. Вы можете использовать Quick-Mask для рисования маски кистью. Это помогает перенести выбор, это приводит к приятному переходу от белого к черному на следующем шаге.
  • сохранить эту маску/выделение в качестве канала и дать каналу имя
  • Использовать File- > Save as Web
  • Выберите формат JPEG в формате
  • Рядом с полем "Качество" есть маленькая кнопка с кругом на ней. Нажмите на нее. Выберите сохраненный канал на шаге 2 и выполните настройку качества для белой и черной части содержимого канала.

Ответ 11

http://www.jpegmini.com - это новая служба, которая создает стандартные jpg с впечатляюще маленьким размером. У меня был хороший успех.

Ответ 12

Для наилучшего качества одиночных изображений я настоятельно рекомендую RIOT. Вы можете увидеть исходное изображение, кроме измененного.

Инструмент бесплатный и действительно стоит попробовать.

Ответ 13

Изображения PNG уже сжаты внутри, таким образом, что это не приносит большого выигрыша от большого сжатия (и может фактически расширяться, если вы попытаетесь сжать его).

Вы можете:

  • Уменьшите разрешение от 940x940 до меньшего размера, например 470x470.
  • Уменьшить глубину цвета
  • Сжатие с использованием средства сжатия с потерями, такого как JPEG

edit: Конечно, 250 КБ для фона в Интернете. Вы также можете пересмотреть графический дизайн, требующий этого.

Ответ 14

JPEG2000 дает коэффициенты сжатия на фотографических изображениях качества, которые значительно выше, чем JPEG (или PNG). Кроме того, JPEG2000 имеет как "потерю", так и "без потерь" параметров сжатия, которые можно легко настроить для ваших индивидуальных потребностей.

Ответ 15

Мне всегда повезло с jpeg. Не забудьте настроить Photoshop, чтобы не сохранять миниатюры в jpeg. По моему опыту я получаю наибольшее соотношение шансов/баков, используя прогрессивное сжатие 3-х прохода, хотя базовый оптимизированный подход работает очень хорошо. Выберите очень низкий уровень качества (например, 2 или 3) и экспериментируйте до тех пор, пока не найдете хороший компромисс.

Ответ 16

Caesium - лучший инструмент, который я когда-либо видел.

Ответ 17

http://tools.dynamicdrive.com/imageoptimizer позволяет создавать файлы GIF, JPG или PNG из каждого из этих форматов и сообщает, насколько сжато изображение (в процентах от исходного размера файла).

Затем вы можете выбрать, какое качество вы готовы пойти на компромисс для изображения меньшего размера. Это сработало хорошо для меня.