Как создаются сайты?

Заметка третья. Графика в Сети

Графика - существенный элемент любого сайта, хотя бы в декоративном смысле. А в ряде случае - и жизненно необходимый. Например, если содержание сайта - геологические данные. Ведь геология принадлежит к тем наукам, где ничего нельзя доказать и поэтому очень важно убедить (Марк Блок, по памяти). А убедить с помощью карт, фотографий и зарисовок обнажений - проще, чем с помощью слов и фраз. Впрочем, это касается не только геологии... В этом случае графика оказывается элементом не дизайна, но контента.

Приедставлению графики в Сети посвящена обширная литература, как в печатной так и в электронной форме. Достаточно сослаться на недавний обзор на iXBT Software. Однако в основном рассматриваются вопросы использования графики как элемента дизайна. Настоящая же заметка посвящена графическому представлению контента. На примере, разумеется, классово близкого автору контента геологического. О том же, как такой контент создается - можно посмотреть в заметке Геологическая картография и Интернет.

Подавляющее большинство графики в Сети представлено в растровой форме. Мало-мальски приемлемый стандарт на сетевую векторную графику не сложился (хотя в последнее время Macromedia со своей Flash'ю прилагает для этого титанические усилия), поэтому от природы векторные рисунки (такие, как карты и диаграммы) приходится трансформировать в растровую форму.

Физическая скорость соединения накладывает ограничения на объем графического материала в Сети. Поэтому основные сетевые графические форматы - GIF и JPEG, использующие сжатие и понимаемые любыми браузерами, поддерживающими графику. Есть, правда, еще PING, но распространения он не получил. Во первых, он требует plug-in'а для распознавания стандартными браузерами (а я так и не нашел, где же этот plug-in взять). Во вторых, хотя он и сжимает без потери качества, но сжимает очень мало - конечный файл получается раза в два-три больше, чем, скажем, GIF. И еще: недвано появился новый формат, который имеет все шансы стать стандартным. Именуется он DjVu ("дежавю", по нашински).

Замечание: для просмотра рисунков к этой заметке (часть из которых - как раз в формате DjVu) необходимо установить plug-in, который находится здесь; впрочем, его можно скачать и непосредственно с моего сайта. Он встраивается в Explorer или Navigator (начиная с четвертых версий - точно, с более ранними - не проверял). Однако требуется также и поддержка этого типа файлов (то есть *.djvu) со стороны сервера. Мой (http://www.spaceport.com )- поддерживает, не смотря на свою халявность. Из описанных в моей заметке о романтике виртуальной дороги , формат этот поддерживается также на XOOM'е. А вот на любимой Virtual Avenue - не поддерживается. остальные - не проверял.

И так, что же представляют собой сетевые графические форматы и для чего они годятся? Начнем в GIF'а, поскольку исторически он был первым (в Сети). Он основан на индексации цветовой палитры и сведению ее к 256 (максимум, можно и меньше; универсальная палитра, более или менее адекватно передаваемая на различных платформах, включает 216 цветов) цветам. Формат этот постоянно модифицируется, последняя его вариация носит название GIF89a. Опциональными особенностями GIF'а являются transparancy (то есть прозрачность некоего фонового цвета) и interlaced (черезстрочная прорисовка картинки при загрузке, создающая иллюзию процесса, а не ожидания результата). Кроме того, существует так называемый анимированный GIF, но на нем в этой заметке я останавливаться не буду.

Для чего предназначен GIF? Поскольку он оперирует неким фиксированным набором цветов, применение его оптимально для передачи того, что называют обычно бизнес-графикой. В геологической практике это геологические карты, разрезы, диаграммы и т.д. В этом случае, во первых, достигается наибольшая степень сжатия (таблица), во-вторых, представление материала в Сети наиболее близко к печатному (или рисованому) варианту. Передача изображений (каковыми являются, например, фотографии или спектрозональные аэро- и космоснимки), содержащих большое количество цветовых переходов, неизбежно огрублена. Также не идеален GIF для передачи черно-белых фотографий, особенно содержащих рисованые объекты и надписи - поскольку в этом случае вместо 256 цветов мы получаем 256 граждаций серого, изображение либо огрубляется, либо файл практически не поддается сжатию . А ведь черно-белые фотографии с рисоваными линиями - это не что иное, как отдешифрированные космо- и аэрофотоснимки, без которых невозможны никакие геолого-картировочные работы. Эта же форма представления - наиболее эффективна для анализа данных DEM (digital elevation modelling, о чем написано в заметке о геологической картографии). Не вполне эффективен GIF и при передаче трехмерных (разумеется, псевдотрехмерных) изображений.

JPEG, в отличие от GIF'а, изначально был создан для сжатия изображений с большим количеством цветов. И потому передает до 16 миллионов таковых (так называемый true color - истинный цвет). Сокращение размера достигается путем слияния близких оттенков в один. Естественно, это приводит к потере качества изображения, но для экранного представления (не для полиграфического воспроизведения) его вполне достаточно. Контроль за сжатием осуществляется визуально, путем подбора оптимального соотношения размера файла и качества изображения. Соответственно, этот формат вполне пригоден для передачи цветных фотографий. Однако при преобразовании в JPEG геологических карт или тех же полутоновых рисунков (вне зависимости от степени сжатия) можно видеть размывание линий (геологических границ) и надписей, вплоть до полной их нечитаемости. Это делает JPEG непригодным для представления в Сети большинства видов геологической графики. Правда, псевдотрехмерная блок-диаграмма в виде JPEG-файла, оптимизированного по качеству, выглядит вполне пристойно, однако имеет изрядный размер; при оптимизации же по размеру - качество резко падает (см. таблицу).

Таблица

Формат
Цветная геологическая схема - kamcape.*, byte
Полутоновая карта с границами и подписями - ner.*, byte
Цветная блок-диаграмма - tklev3d.*, byte
TIFF (* - BMP)
1 133 777
1 357 121
*443 318
GIF
32 323
110 486
147 625
JPEG - best quality
57 003
119 006
203 970
JPEG - small size
37 964
83 897
19 243
DjVu - 100 dpi
65 809
134 007
86 819
DjVu - 200 dpi
34 232
69 904
42 665
DjVu - 300 dpi
13 546
26 608
17 139

Комментарии к таблице: исходные TIFF-файлы созданы экспортом из CorelDraw с размером 800*сколько получится и экранным разрешением 300*300 dpi. GIF'ы и JPEG'и преобразованы из TIFF'ов в программе Macromedia Fireworks 2 (установки по умолчанию). DjVu-файлы получены в программе DjVuer 1.6 при разрешениях источника 100, 200 и 300 dpi (величина dpi обратно пропорциональна качеству получаемого изображения) и качестве целевого изображения 100%.

Кроме того, и GIF, и JPEG имеют один общий недостаток - они не масштабируются. А при анализе геологической графики очень существенно иметь возмодность видеть один и тот же объект в различных масштабах - от предельно генерализованного для выявления региональных структур до максимально детального для локальных особенностей. Этого недостатка лишен недавно появившийся (и потому относительно малоизвестный) формат DjVu, изобретенный софтверным отделением (или как это там у них называется) небезызвестной фирмы AT&T. Посему на его описании остановлюсь поподробнее.

Насколько я понял из описания на сайте, этот формат был придуман для помещения в Сеть сканированных изображений, совмещенных с текстом. Оптимизация его основана на том, что фоновое изображение (например, фотография) как бы отделяется от текста и оптимизируется по алгоритму, сходному с JPEG'овским, а текст - сжимается отдельно (вероятно, путем индексирования аналогично GIF'у - впрочем, это только мое впечатление; может быть, кто-то имеет более точные сведения? буду рад узнать). Когда я прочитал об этом (уже не помню, как я попал на тот сайт, вероятно, чисто случайно), я подумал: это именно то, что нужно для геологической графики. И приступил к экспериментам. Предварительно скачав plug-in для просмотра Дежавю-картинок и соответствующий инструментарий, именуемый DjVuer - программу для преобразования всяких растровых форматов в формат djvu. Программа эта бесплатная, хотя сущесвует и вариант за 195 долларов. В чем отличие - я не очень понял.

И так, программа DjVuer (текущая версия 1.6, скачал несколько дней назад) представляет собой самораспоковывающийся exe'шник объемом чуть больше 2,2 мегабайт. К нему прилагается DjVexin - насколько я понял, некий модуль, осуществляющий взаимодействие с ActiveX (у меня при инсталляции сообщил о какой-то ошибке, посему не знаю, что это такое). После инсталляции DjVu и запуска программы появляется такое вот окошечно (рис. 1).

Далее следует открытие файла для преобразования. DjVuer понимает форматы (кроме собственного, разумеется - *.djvu) TIFF, JPEG, BMP, IW44 и PNM (что такое два последние - не знаю, может, кто просветит?). Изображение можно превратить в негатив, трансформировать в градации серого (цветное - правда, после этого оно становится почему-то в несколько раз больше), вращать, зеркально отразить или перевернуть по горизонтальной оси. И после этогозаписать в собственном формате, в формате BMP или PPN (что это - тоже не знаю). А перед этим - установить настройки записываемого изображения.

Таковых - две: разрешение исходного изображения и качество целевого. Поскольку изначальное предназначение программы - сканирование изображений (пока не пробовал, так как сканера у меня сейчас нет), качество исходного изображения определяется разрешением сканирования. Имеет три градации: высокое (300 dpi и выше), среднее (200-300 dpi) и низкое (100 dpi и ниже). То есть то, что отсканировано с минимальным разрешением, подвергается наибольшему улучшению. Поэтому значение исходного разхрешения (ИР) обратно пропорционально качеству получаемой картинки. Качество целевого изображения определяется установкой ползунка в позиции от 20 до 100 (верятно, процентов чего-то). Представление о степени сжатия файла при различных исходных разрешениях (качество целевого изображения во всех случаях - 100%) можно видеть в таблице.

После записи файл можно просмотреть через браузер с соответствующим plug-in'ом. При просмотре по щелчку правой клавишей мыши могут быть выбраны многочисленные опции: цветной или черно-белый режим, zoom (от 25 до 300% исходного изображения или по ширине окна браузера), подробная информация о файле (количество пикселей, разрешение, степень компрессии). Естественно, изображение может быть распечатано.

Гиперссылка на файл DjVu может быть дана стандартным тэгом a href="*.djvu". Однако мне не удалось встроить djvu-файл в файл html, ни, естественно, тэгом img scr="*.djvu", ни в качестве объекта. Соответственно, изображению нельзя приписать заголовок, подрисуночную подпись и прочие атрибуты, если это не сделано непосредственно на рисунке.

Что можно сказать о качестве изображения? Оно различно для различных типов графики. Цветная геологическая карта хорошо смотрится при исходном разрешении (ИР) 100 dpi, вполне пристойно - при ИР 200 dpi, резко ушудшаясь только при ИР 300 dpi. Хотя, как видно из таблицы, только в этом последнем случае обеспечивается выигрышь в размере по сравнению с GIF'ом.

Полутоновая карта (shadow map по данным GTOPO30 DEM с отдешифрированными границами и подписями (то есть то, ради чего вся история и затевалась) при ИР 100 dpi выглядит вполне сопоставимо с GIF' при чуть большем размере и при этом масштабируется до 300%, сохраняя пристойный вид. При ИР 200 dpi карта неплохо выглядит в размере 100% от исходного (будучи существенно меньше GIF'а), но при увеличении масштаба границы и надписи становятся расплывчатыми. Карта с ИР 300 dpi - просто плохо.

Аналогичная картина и с третьим типовым изображением - трехмерной блок-диаграммой: хорошее качество при ИР 100 dpi, приемлемое - при 200 dpi и плохое - при 300 dpi. Однако в этом случае при ИР достигается максимальный выигрыш в размере по сравнению с GIF'ом (см. таблицу).


Подведем итоги. Нет в жизни совершенства, как говорил персонаж известного романа. И формат DjVu не панацея на все случаи жизни. Однако в ряде случаев он безусловно полезен. При сопоставимом с GIF'ом размере и точности проработки деталей он поддается масштабированию, что очень удобно при помещении в Сети многих видов графики. Примером чему является рассмотренная геологическая графика. И потому заслуживает всяческого внимания со стороны тех, кому по роду своей деятельности требуется представление карт различного, аэро- и космоснимков, в том числе с нанесенными результатами дешифрирования. Поэтому напоминаю адреса, по которым можно получить Plugins for viewing DjVu и инструментарий для его создания DjVuer. Должен только предупредить: plug-in на сайте ATT существует в двух версиях - с номером меньше единицы (точно не помню) и с номером 2 и пометкой beta (от 9 апреля сего года). Сначала я поставил первый вариант (второго тогда еще не было), и все работало стабильно. С появлением новой версии, естественно, из жадности обновил - и стало несколько хуже: после двух деястков просмотров, не зависисмо от того, в Сети или с локальной машины, начинают появляться сообщения об ошибке в установке plug-in'а, а затем вообще перестает что бы то ни было показывать, кроме слова "готово" в статусной строке. Так что, как говорил Винни-Пух, а не слишком ли я жадный?

Алексей Федорчук
Москва, 16 апреля 1999 года



Реклама в Интернет
©Алексей Федорчук