В настоящее время я имею дело с проблемой качества изображения для фонового изображения моего сайта.
У меня есть большое размытое фоновое изображение, которое я хотел бы использовать, но хотелось бы, чтобы оно было как можно меньшего размера для веб-сайта.
Чтобы иметь его в высочайшем качестве (PNG), это около 200 КБ.
Я могу уменьшить его примерно до 100 КБ в формате JPG, но качество снижается, что ожидается, но вокруг линейной линии появляются ужасно выглядящие линии, которые делают его ужасным.
Есть ли какой-то особый способ конвертировать этот PNG в JPG, но не допускать наличия дефектов на изображении?
Вот изображения:
PNG:
JPG (100%) качество:
.SVG
? как они крошечныеОтветы:
JPEG - это не сжатие без потерь
Сжатие JPEG считается сжатием с потерями, даже если качество установлено на 100%, а качество теряется. Вот почему для простой графики, такой как интерфейсы пользовательского интерфейса и фоны, обычно лучше использовать формат без потерь, такой как PNG.
200 КБ не так уж велик в 2014/2015
Хотя было бы целесообразно максимально уменьшить размер фона, важно отметить, что 200 КБ не так уж велика для большинства широкополосных соединений. Вы можете использовать другую версию для мобильных телефонов и планшетов, используя медиа-запросы CSS .
Делаем png файл еще меньше
Photoshop и другие пакеты для рисования используют стандартное сжатие PNG. Вероятно, вы можете уменьшить эти 200 КБ до еще меньшего с помощью PngOptimizer или онлайн-службы Yahoo Smush It . Снижение размера файла еще ниже не приведет к снижению качества, поскольку это формат без потерь ... он в основном оптимизирует код, дополнительно уменьшая его, сравнивая его с файлом ZIP или RAR, эти файлы сжатия, но не снижают качество содержимого.
Учитывая использование полосового градиента
Другое возможное решение может заключаться в том, что вы используете тонкий PNG-градиент шириной в 1 пиксель, а затем высоту страницы, затем дублируете его
background-repeat
, вы можете даже рассмотреть возможность использования CSS для генерации градиента для вас, но, конечно, вы ограничены не возможность использовать тени и другие настройки.источник
pngcrush
и подобные программы, безусловно, могут сделать файл меньше.Это, вероятно, не отвечает на ваш вопрос. Некоторые возможные альтернативы ...
Вы рассматривали CSS вместо этого:
Или, возможно, вы могли бы использовать технику SVG base64 ( инструмент генератора здесь ):
Вы пытались использовать еще меньший PNG и позволить алгоритму масштабирования, встроенному в браузер, увеличить его? Это может уменьшить размер файла, а также устранить артефакты JPG.
источник
Я предлагаю вам проверить Kraken.io , у них есть оптимизатор изображения. Изображения в вашей теме уменьшаются на 45%, невидимые для глаз!
Вы также можете просто использовать css, у colorzilla есть хороший инструмент для создания правильных css для всех браузеров.
Если вы чувствуете себя комфортно с градиентным изображением, отбросьте цвет, сделайте его черно-белым, а затем дайте элементу div / body / element фон следующим образом:
источник
Некоторые редакторы изображений, такие как GIMP, позволяют применять сглаживание, а также управлять сжатием при сохранении JPEG.
http://en.wikibooks.org/wiki/GIMP/Saving_as_JPEG
Вы также можете уменьшить количество артефактов, управляя подвыборкой.
http://www.ampsoft.net/webdesign-l/jpeg-compression.html
источник
Попробуйте добавить шум, чтобы свести к минимуму полосы:
Photoshop:
Image > Fill... >
и использовать эти значения:Filter > Noise > Add Noise... >
. Эти значения работали хорошо для меня:Так что никаких неприятных полос, меньших размеров, но за счет шума. Файлы значительно тяжелее по сравнению с бесшумной версией (около 100 КБ), но половина оригинального PNG. На самом деле я немного удивлен, что ваш PNG был таким большим.
Еще одно предложение:
Если вы не хотите добавлять шум, постарайтесь убедиться, что вы работаете везде в цветовом пространстве sRGB, которое обеспечивает самую богатую гамму для экранов монитора (меньше полос).
источник