[СУМКИ - КЛАТЧИ - РЕМНИ]

[СУМКИ - КЛАТЧИ - РЕМНИ] В СПб

РАСПРОДАЖА! [БРЭНДОВ.НЕТ]: Магазин брэндовых аксессуаров!

[БРЭНДОВ.НЕТ]

группа зарубежные лотереи вконтакте.COM/Brendofnet

Материал взят с сайта ART-WEB студии Артемия Лебедева, с некоторым изменением заголовков его публикаций (для индексации ПС). Текст самих публикаций не менялся!

Данная публикация мыслей Артема (точнее публикация статей из постоянно дописываемой книги Артема called RU/"Ководство") на сайте www.uPRating.ru не преследует никаких коммерческих целей; цель лишь одна - большее распространение по Рунету статей его реально полезной книги, если можно так назвать!

Ру"Ководствуйтесь"на здоровье!

На главную Ководство Артемия Графический формат GIF с миллионом цветов.
Графический формат GIF с миллионом цветов.

Графический формат GIF с миллионом цветов.
[19.10.98]

Наш сегодняшний выпуск посвящен, главным образом, пониманию цветовых палитр. Рассмотрим несколько способов создания графики с использованием формата GIF, когда нам нужно иметь больше чем 256 цветов.

Способ первый. Режем графику на кусочки.
Этот способ дает нам возможность иметь до 256 цветов в каждой картинке. При этом мы можем совмещать картинки встык, что дает ощущение цельного изображения. Самым важным тут является умение правильно всю заготовку порезать, чтобы не было разницы в оттенках на стыках и чтобы каждый кусочек был маленьким и не содержал бы лишних цветов в своей палитре. В качестве примера можно привести сайт Вессолинка, где, скажем, картинка с логотипом в центре выделена в отдельный GIF, чтобы палитры соседних картинок не содержали красного и синего.

Или посмотрим на такой пример:

Цветной бублик слева — цельный GIF с 256 цветами. Справа — порубленный на четыре куска (т.е. в сумме мы получаем 1016 цветов). Если бы мы занялись дальнейшим кромсанием, получили бы столько цветов в сумме, сколько кусочков не лень было бы нарезать.

Способ второй. Накладываем одно на другое.
При всей очевидности этого метода, мы должны его помянуть и для классификации способов, и для общего понимания работы с графикой на вебе. Берете цветной фон. А сверху кладете отдельный GIF. В сумме вы опять же получаете больше 256 цветов.

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

Надо сказать, что как таковой проблемы с цветами не существует. Если графическая карта не поддерживает больше 256 цветов, то вам все равно — просто существует некая палитра, до которой все изображения уравниваются. Если цветов тысячи или, что еще лучше, миллионы, то, конечно, для радости жизни будет мало одной системной палитры. Собственно, мало кто думает о том, что ВСЯ графика должна создаваться в ОДНОЙ палитре. Для аккуратности некоторых картинок можно использовать «безопасные» цвета. Но если мы возьмем некий средний сайт, то мы увидим там буйство красок, которые при всем желании в системную палитру не уместишь.

Третий способ. Для фанатов и извращенцев.
На днях, размышляя о технологии GIFа, я придумал одну хитрость. Можно сделать один GIF, в котором было бы больше 256 цветов. Похоже на полный бред. Но только на первый взгляд.

Формат GIF устроен так, что его можно использовать в качестве контейнера для любой информации. GIF — как комод с ящиками: в него можно положить все, что душе угодно. Можно картинку. Можно — несколько (при последовательном считывании получим анимацию). Можно запихнуть звуки, видео, PostScript и шрифты — но просто никто пока не рассчитывает там такую информацию найти, поэтому эти данные будут проигнорированы. Но если написать новый интерпретатор формата, то ваш браузер сможет сыграть 7—40, прочитав файл с расширением .gif.

Хитрость заключается в том, что GIF позволяет создавать анимации, где каждый кадр может иметь свою локальную палитру. Предел палитры в GIFе, как мы знаем — 256 цветов. Но никто не говорил, что нельзя записать 10 кадров, в каждом из которых было бы по максимуму цветов и которые были бы все одновременно видны. В результате мы получим 2560 цветов. Неплохо для начала.

Итак, возьмем полный спектр, так как если его уместить в палитру с фиксированным количеством цветов, то становятся отчетливо видны все недостатки и усреднения оттенков:



А теперь сделаем помянутый выше анимационный GIF, где каждый кадр создан в своей палитре и не перекрывает собой предыдущий:



Вторая картинка состоит из 7 кадров. Таким образом мы получаем 1792 цвета в одном GIFе. Интересная штука получится, если вы откроете обе картинки в Photoshop'е. Первая откроется в режиме Indexed Color, а вторая — в RGB. Просто Photoshop'у этот пример натурально сносит башню, и он не понимает, что это все тот же GIF. Поэтому сразу переходит в режим RGB.

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

P.S. Поздравляю всех угадавших «секрет» на листе рассылки «ru/kovodstvo». Обещанное пиво за мной. Все желающие могут подписаться на «ru/kovodstvo» с главной страницы наших заметок — там обсуждаются как подобные вопросы, так и многое другое.

 









.