Возможность записи чересстрочных файлов была введена во второй
версии формата GIF, опубликованной в 1989 году. Эту версию обозначают
"GIF89a" в отличие от первой - "GIF87a". (Быстро выяснить
разновидность формата GIF-файла можно, просто заглянув в него любой утилитой для
просмотра текста; первые шесть символов файла содержат либо "GIF89a",
либо "GIF87a".)
В этой же версии появились и другие важные усовершенствования,
а именно возможность указывать прозрачный цвет и записывать в один файл
несколько самостоятельных картинок - кадров движущегося, мультипликационного
изображения.
К сожалению, все эти новшества мало где применялись до того,
как их поддержка появилась в броузерах WWW. Поэтому большинство графических
программ до недавнего времени не утруждали себя работой с форматом GIF89a,
записывая файлы только в GIF87a. Первые две из этих возможностей - запись
чересстрочных файлов и указание прозрачного цвета - поддерживаются в упомянутых
выше LView Pro и Adobe Photoshop, а для работы с GIF-мультфильмами существуют
отдельные программы, об одной из которых я расскажу ниже.
Прозрачный цвет позволяет, по сути, создавать GIF-файлы
произвольной формы - пикселы рисунка, имеющие этот цвет, при просмотре в
броузере будут невидимы. Казалось бы, поскольку HTML не позволяет (пока)
накладывать изображения друг на друга или на текст, этим имеет смысл
пользоваться только на тех страницах, фон которых заполнен каким-то
изображением. Однако из-за почти неизбежной диффузии в броузере, о которой мы
уже говорили, к прозрачности приходится прибегать даже тогда, когда фон страницы
покрашен однородным цветом: если вы заполните фоновые части рисунка тем же самым
цветом, но не сделаете их прозрачными, граница между шершавым фоном рисунка и
гладким фоном страницы в броузере будет слишком хорошо заметна. Отсюда же
следует, что в изображениях, использующих прозрачность, нельзя пользоваться
редукцией палитры с диффузией - ведь прозрачным может быть объявлен только один
цвет, и если фон изображения будет состоять из смеси разноцветных пикселов,
полностью прозрачным его сделать уже не удастся (впрочем, как мы увидим ниже,
использование Adobe Photoshop позволяет обойти это ограничение).
Следует иметь в виду, что граница между прозрачным цветом и
остальными элементами изображения должна быть как можно более резкой. Любая хоть
сколько-нибудь размытая граница, содержащая пикселы промежуточных цветов, уже не
будет прозрачной, и в результате в броузере вокруг видимых элементов изображения
будет неприятный ореол. И хотя "мягкие" цветовые переходы
(по-английски этот эффект называется "anti-aliasing") в компьютерной
графике по справедливости считаются признаком профессионализма, на внешнем
контуре рисунков с прозрачным фоном их следует избегать.
С другой стороны, если фоновое изображение, на котором будет
расположен ваш рисунок, достаточно однородно по цвету, можно залить задний план
рисунка схожим цветом и сделать его прозрачным. В этом случае размытая внешняя
граница уже не страшна, так как она будет благополучно сливаться с фоновым
изображением. Не забудьте только, что при загрузке страницы в броузер фоновое
изображение нередко подходит из сети позже, чем графика переднего плана с
прозрачным фоном. Поэтому, чтобы не портить впечатление, в теге <BODY>
вашей страницы, помимо атрибута BACKGROUND, полезно указать также атрибут
BGCOLOR, подобрав для него цвет, максимально близкий к основному цвету фонового
изображения.
В LView Pro версии 1.D2 чересстрочный режим записи GIF-файлов
устанавливается командой Save Interlaced на панели GIF окна Properties (команда
File|Properties), а для указания прозрачного цвета служит команда Background
Color в меню Retouch. В диалоговом окне Background Color можно нажать кнопку
Dropper, что позволит указать нужный цвет "пипеткой" прямо на
изображении.
Если же вы хотите работать с GIF89a в Adobe Photoshop версии
3.0, то вам прежде всего нужно сходить в Интернет и взять специальный
подключаемый модуль (plug-in). Когда вы поместите этот модуль в подкаталог
для подключаемых модулей Photoshop, в подменю File|Export появится новая команда
GIF89a Export. Дав эту команду для полноцветного изображения (рис. 4),
вы сможете, во-первых, проделать все операции
выбора размера палитры, о которых мы уже говорили, а во-вторых - установить
режим чересстрочной записи (флажок Interlaced) и указать цвет, который будет
помечен как прозрачный.
Рисунок 4. Экспорт изображения в GIF89a из Adobe Photoshop
Однако будьте внимательны: выбор цвета в этом окне не означает
"сделать прозрачным все, что имеет этот цвет", а наоборот -
"покрасить в этот цвет все, что должно быть прозрачным". Чтобы
указать, что же именно в изображении будет прозрачным, а что нет, нужно
проделать кое-какую подготовительную работу. Выделите все непрозрачные части
изображения и перенесите их на отдельный слой, спрятав все остальные слои, -
чтобы на тех местах, которые вы хотите сделать прозрачными, была видна клетчатая
подложка, которую Photoshop показывает в отсутствие какого-либо другого фона (рис. 5).
Теперь при выборе команды GIF89a Export в файл
будет записано только содержимое видимого в данный момент слоя с учетом его
прозрачности.
Рисунок 5. Изображение, подготовленное в Photoshop для экспорта
в GIF89a с сохранением прозрачности
Вы, вероятно, знаете, что Photoshop позволяет реализовать
частичную прозрачность - в частности, плавный переход непрозрачных областей в
прозрачные (обратите внимание на тень от шарика на рис.
5). Скажем, дав команду Select|Feather перед выносом выделенных объектов в
отдельный слой, вы получите размытые края выделения, постепенно переходящие в
прозрачный фон. И несмотря на то, что формат GIF предусматривает для пикселов
изображения только две градации - абсолютную прозрачность либо абсолютную
непрозрачность, - Adobe Photoshop с помощью все той же диффузии способен
симулировать эффект частичной прозрачности в GIF-файле. Так, экспортировав в
GIF89a изображение, показанное на рис. 5, мы получим
по краям тени "диффузную прозрачность" - смесь прозрачных и
непрозрачных пикселов, плавно переходящую в стопроцентно прозрачный фон.
|