Иногда требуется привязать ссылку к какой нибудь область изображения. Для этого в html существуют карты изображения. Вот пример использования карт изображений в html:

Как использовать карты изображения. Указываем у изображения атрибут usemap. Задаем описание карты тегом map, значение атрибута name у этого тега должно совпадать с usermap. Для задание активной области, которая должна быть ссылкой, используются тег area. У него есть атрибуты:
shape – форма активной области, это может быть circle (окружности), rect (прямоугольника) или poly (многоугольник)
alt -альтернативный текст
href – адрес ссылки
coords – координаты область

<img src="map.img" width="150" height="100" usemap="#map" alt="Карты изображения">
<map name="map">
    <area shape="poly" alt="меню"
       coords="50,20, 100,20, 100,30, 50,30"
       href="ссылка">
</map>

Для создания карт можно использовать редактор изображений Gimp. Для этого отрываем нужное изображение, и идем в меню: фильтры ->веб->карта изображений. Такой же инструмент есть и в PhotoShop.
Ссылка работает, но она не удобна. Активная область должна выделятся при наведении. Для этого нам потребуется картинка с прорисованной выделенной областью и несколько строк на JavaScript. Алгоритм такой: при наведении курсора на активную область меняем картинку.

<script language="JavaScript">
<!--
if (document.images) {
        image = new Image();
        image.src = "map.img";
        image_active = new Image();
        image_active.src = "map_active.jpg";
    }
    function changeImages() {
        if (document.images) {
            for (var i=0; i<changeImages.arguments.length; i+=2) {
                document[changeImages.arguments[i]].src = eval(changeImages.arguments[i+1] + ".src");
            }
         }
}
// -->

Понравилась статья? Расскажи друзьям

2 Comments

  1. Что то все смутно рассказано…Откуда берутся координаты углов X и Y,coords=»50,20, 100,20, 100,30, 50,30″,можно же было как то подробно описать?фильтры ->веб->карта изображений для новичков ровным счетом ничего не говорит.

  2. Дело в том, что можно описать Shape (Формы) только трех видов: RECT (Прямоугольник), CIRCLE (Круг) и POLY (Многоугольник).

    Каждая форма описывается координатами X и Y, отсчет начинается с левого верхнего угла. Для RECT (Прямоугольника) достаточно всего двух точек координат – координаты X,Y верхнего левого угла и координаты правого нижнего угла. Для CIRCLE (окружности) хватает координаты центра окружности X,Y и величины радиуса R, а вот для сложной фигуры нужно задать координаты всех точек замкнутой ломаной. Если сложная фигура имеет плавные изгибы, ничего страшного! Можно ее обвести ломаными кривыми. Только хочу заметить, чем меньше будет этих ломаных, тем быстрее ваше творение загрузится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *