Картрированные изображения
Очень мощным средством организации гипертекстовых ссылок является
так называемые ``картрированые изображения'' (imagemaps). Они представляют
собой изображения с чувствительными областями, то есть, выделение различных
частей изображения указательным устройством приводит к движению по
гипертексту в различных ``направлениях''.
Картрированные изображения бывают двух типов: обрабатываемые на сервере
(server-side) или на клиенте (client-side).
Для создания карт на стороне клиента используется тег HTML под названием
<MAP>. Синтаксис тега таков:
<MAP NAME=``имя карты''>
<AREA параметры>
...
<AREA параметры>
</MAP>
где параметры тега <AREA> могут быть такими:
SHAPE - определяет форму активной области для карты. Может принимать значения RECT, CIRCLE, POLY, DEFAULT, соответствующие областям
прямоугольной, круглой, многоугольной и области по умолчанию соответственно.
Все типы областей, кроме DEFAULT, требуют указания координат в атрибуте
COORDS.
COORDS - определяет координаты областей. В зависимости от типа области может иметь вид: для прямоугольной--значения координат верхнего левого
и правого нижнего углов, (``x1,y1,x2,y2''); для круговой--координаты
центра и радиус (``x,y,r''); для многоугольной--список координат вершин
(``x1,y1,x2,y2,x3,y3,...'');
HREF - определяет URL, на который ссылается данная область.
NOREF - указывает, что область ``мертва'', то есть за ней не скрывается ссылка.
Чтобы использовать локальную карту на изображении в параметре USEMAP
тега <IMG> необходимо указать имя карты.
Например:
<MAP NAME="mymap">
<AREA SHAPE="RECT" COORDS="420,220,520,260" HREF=\\
"http://www.some.com/rect/">
<AREA SHAPE="CIRCLE" COORDS="320,150,30" HREF=\\
"http://www.some.com/circle">
<AREA SHAPE="POLY" COORDS="150,450,300,450,225,240" \\
HREF="http://www.some.com/poly">
<AREA SHAPE="DEFAULT" HREF="http://www.some.com/">
</MAP>
......
<IMG SRC="picture.gif" ALT="Imagemap" BORDER="0" WIDTH="640" \\
HEIGHT="480" USEMAP="#mymap">
даст примерно слежующую карту на изображении:
Рис. 2.2.1: Пример карты на изображении
Для того, чтобы создать карту, обрабатываемую на сервере, необходимо
административное вмешательство, так как на сервере придется изменять
файл конфигурации для CGI-модуля обработки информации от карты.
При использовании различных Web-серверов формат описания карты
на сервере может варьироваться. Два наиболее распространенных формата
произошли от HTTP-серверов NCSA и CERN. Приведем пример использования
карты с сервером NCSA httpd.
На стороне сервера, файл (например) /usr/local/etc/httpd/conf/imagemap.conf:
# This is a map for NCSA server
test_map : /home/joe/public_html/maps/test.map
Использовать эту карту можно примерно таким образом:
<A HREF="http://www.myhost.domain/cgi-bin/imagemap/test_map">
<IMG SRC="test_img.gif" ALT="Server-side imagemap" WIDTH="320" \
HEIGHT=200 ISMAP></A>
Ключевым в данном примере является слово ISMAP, которое указывает браузеру,
что при активации изображения необходимо послать серверу информацию
о координатах курсора указательного устройства относительно изображения,
после чего ждать от сервера ответа в виде URL, на который браузер должен
``перейти''.
Видно, что для реализации карты, обрабатываемой сервером, требуется
больше шагов, но иногда без карт такого рода просто не обойтись: например,
когда требуется ТОЧНО знать координаты внутри изображения (скажем, когда
обрабатывается какая-либо шкала).
Для создания карт существует множество программ для различных OS,
например ImageMap компании .
Эта программа существует в версиях для MS Windows и для Linux.