Прогрессу
мешает Internet Explorer, который по неведомым причинам подрисовывает
под PNG-изображениями с альфа-каналом какой-то несусветный фон. Эту
проблему можно обойти, правда, способы весьма витиеваты.
Замечена и еще одна неприятная особенность IE: случается, что браузер от
Microsoft искажает цвета PNG-изображения с индексированной (т. е. жестко
заданной!) палитрой. Это происходит, в частности, при сохранении PNG-
файлов при помощи Photoshop CS или ImageReady CS, тогда как при
отображении картинок, сохраненных, скажем, в ImageReady 1.0, такого эффекта не
наблюдается. Упомянутые искажения незаметны, если картинка стоит
особняком на контрастном фоне. Но когда речь заходит о точном совмещении
цветов изображения и фона, фальшь становится видна невооруженным
глазом.
Что касается вопросов размера файла, то PNG действительно позволяет
добиться экономии (порядка 20%) по сравнению с GIF в классических случаях,
т. е. применительно к четким и небольшим изображениям с ограниченной
палитрой. Что же касается фотографических изображений, то PNG
безусловно «тяжеловеснее» JPEG даже с наилучшим качеством, причем зачастую
разница весьма и весьма ощутима.
108
Часть I. Технологические основы
Таким образом, явных причин целесообразности жертвы форматами GIF и
JPEG в пользу PNG пока что на горизонте не предвидится. Хотя W3C
признает только последний, но в основном — из-за правовых причин. (Алгоритм
LZW, используемый в GIF, запатентован Unisys и IBM, да и на JPEG не так
давно нашелся претендент— компания Forgent Networks, в то время как
PNG — изначально открытая технология, разработанная специально для
Всемирной паутины.)
Вопрос выбора графического формата для того или иного изображения
может показаться тривиальным. И напрасно! Разумеется, типичные случаи
наметанный глаз расставит по местам сразу же и безошибочно, но есть и
ситуации пограничные, не вполне очевидные даже для профессионала.
К таковым относится изрядное количество разнообразных пиктограмм,
рисованных визуалов и пиксельных миниатюр. В их царстве вполне себе можно
заблудиться не только в трех, но даже и в двух соснах— т. е., при выборе
между GIF и JPEG, не принимая во внимание PNG.
Мне неоднократно приходилось сталкиваться с картинками, которые,
казалось бы, сам бог велел сохранять в формате GIF, но… которые выглядят
лучше и «весят» существенно меньше при сохранении в JPEG. Бывают и
противоположные случаи — скажем, изначально фотографичная по текстуре
картинка с парой резких переходов (особенно если переходы эти самые
образуют смысловой центр композиции) при сохранении в GIF смотрится
намного лучше, чем в JPEG при сопоставимом размере файла: на JPEG-
изображении вокруг четких контуров проявляется неприятный ореол. Если
же уменьшить сжатие, то размер файла станет уже неприемлемым.
Оптимизация графики не терпит типовых решений! Со многими
изображениями стоит экспериментировать.
Но даже когда выбор в пользу того или иного формата сделан, на этом работа
над изображением не заканчивается. Порой палитру GIF-изображения (это
относится и к PNG с индексированной палитрой) можно уменьшить в 2—
4 раза практически без видимых потерь качества. В особенности это касается
одноцветного текста со сглаженными контурами (анти-алиасинг): палитру
подобного изображения вполне можно ограничить восьмью цветами.
Кстати говоря, хотя количество цветов в палитре GIF- или PNG-изображения
может выбираться произвольным, лучше всего использовать палитры,
состоящие из 2, 4, 8, 16, 32, 64, 128 или 256 цветов. В этом случае каждый
пиксел изображения будет кодироваться минимально возможным количеством
бит при максимально возможном количестве цветов в палитре. Классический
пример задачи н|а оптимизацию… Поясню: цвет каждого пиксела в
изображении, имеющем, например, 32-цветную палитру, кодируется пятью битами
(32=25). При 33 цветах в палитре число бит на пиксел уже будет равным шее-
Глава 2.
5th Фев 2011
|
Теги:
|