Урок 5. Графика

Не хватает картинок

Иллюстрации в тексте радуют глаз и делают документ более привлекательным. Пора и нам записать в свой актив вывод картинок средствами HTML.

Какой графический формат можно использовать

Браузеры "понимают" два графических формата GIF и JPG.

Формат GIF

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

GIF-формат имеет три приятные дополнительные возможности:

Формат JPG

Этот формат был разработан специально для передачи фотографий. Он поддерживает миллионы цветов и позволяет получать изображения очень высокого качества.

Конечно, высокое качество отражается на размерах файла. Но формат JPG имеет одну особенность: в JPG-редакторе, при записи на диск, можно указать ту степень качества, которая нужна и, тем самым, балансируя на планке "качество-размер файла", достичь нужного компромисса. В самом деле, если из миллиона цветов отсканированной фотографии оставить только 10 000, заменив остальные цвета на близкие -- на глаз такую подмену будет обнаружить практически невозможно, а размер файла существенно сократится.

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

Пример JPG-графики

Как программировать картинки

Картинка в тексте

Картинку можно помещать в документ почти так же, как текстовый символ. Для вставки этого необычного знака нужно воспользоваться командой <IMG>. Команда не имеет парного закрывающего тега, но имеет много атрибутов.

Атрибут src = имя файла

Самым главным атрибутом команды является атрибут src, при помощи которого можно задать имя файла с картинкой. Например, команда <IMG src=img.gif> заставит браузер отобразить на экране графический файл img.gif из текущего каталога.

Обычно графические файлы не смешивают с HTML-текстами, а помещают в отдельный каталог pic, который является подкаталогом для каталога с программами (html-файлами). Тогда команда вывода графики будет иметь вид: <IMG src=./pic/img.gif>

Атрибут alt = "текст надписи"

Если браузер не находит картинки в указанном месте на диске, он вместо нее рисует на экране маленький прямоугольник и вписывает в него надпись, которая задана атрибутом alt:

Страшный зверь <IMG src=monstr.jpg   alt="Страшный зверь">

Атрибут alt рекомендуется использовать всегда. Даже если картинка найдена браузером, задание надписи не будет лишним: стоит пользователю остановить курсор на картинке, как надпись появится в маленьком окошке и сообщит дополнительную информацию. Проверьте это на следующей картинке:

А нас и тут неплохо кормят! <IMG src=./pic07/cat7.gif   alt="А нас и тут неплохо кормят!">
Атрибуты width = n и height = m

Эти атрибуты задают ширину и высоту (в пикселах) прямоугольника, в который выводится картинка.

Если атрибуты не заданы, картинка рисуется в естественных размерах.

Когда размеры прямоугольника не совпадают с размерами картинки, браузер производит масштабирование картинки, подгоняя ее под указанные величины.

Рекомендуется всегда записывать эти атрибуты и указывать в них естественные размеры картинки. Если размеры указываются неверно -- картинка выводится браузером с искажением. Если указание размеров вовсе опущено -- на экране происходит маленькое землетрясение в момент прихода картинки из сети. Ведь, не зная размеров картинки, браузер оставляет под нее на экране стандартный прямоугольник, продолжая строить остальные элементы. Когда картинка загружена, браузеру приходится полностью перересовывать экран.

Атрибут border = n

Атрибут позволяет задать рамку иллюстрации толщиной в n пикселов.

При отсутствии атрибута, или при значении n=0 рамка не рисуется.

Ниже расположены ссылки на испытательные стенды. На них можно проверить работу атрибутов src, alt, width, height, border, как по отдельности, так и в совокупности.

Испытатель Испытатель 1 (src, alt, width, height, border)
Испытатель Испытатель Испытатель 2 (src, alt, width, height, border)
Атрибут align

Этот атрибут позволяет определять положение иллюстрации по отношению к соседним элементам документа. Можно использовать следующие значения атрибута:

align=top вертикальное выравнивание по верхнему краю
align=middle вертикальное выравнивание по центру
align=bottom вертикальное выравнивание по нижнему краю
align=left горизонтальное выравнивание по левому краю
align=right горизонтальное выравнивание по правому краю

Давайте зададим небольшой текстовый абзац и разместим внутри него картинку:

<P>
  Посмотрите на картинку.
  <IMG src=./pic/4.jpg align=middle>
  Красивая птичка!
</P>

Теперь можно заглянуть в испытательный уголок и посмотреть, что происходит с изображением при разных значениях атрибута align.

Испытатель Испытатель Испытатель 3 (align)

Опыты с Испытателем 3 имеют недостатки:

Можно получить ответы на эти вопросы, поработав на следующих стендах.

Испытатель Испытатель 4 (align)
Испытатель Испытатель Испытатель 5 (align)

Картинка как ссылка

Очень легко заставить работать картинку как гиперссылку. Достаточно вложить команду IMG внутрь команды A:

<A href=переход><IMG src=файл></A>

Картинка ведет себя так же, как текст. Курсор при попадании на картинку-ссылку меняет свою форму. Мышиный щелчок по картинке заставляет браузер выполнять переход. Отличие только в том, что картинка-ссылка не подчеркивается, как текст, и не выделяется цветом, а обрамляется в рамочку. Ниже приведен пример графической ссылки. Щелкните по ней мышкой и увидите команду, которая эту ссылку задает.

Точное время? Вам сюда!

Для картинки с часами не задан атрибут border. Тем не менее, мы видим рамку. Эта рамка появляется потому, что картинка является гиперссылкой.

Часто рамка вокруг картинки нежелательна, даже когда она означает ссылку. Ведь о ссылке однозначно говорит изменение формы курсора, а если картинка -- прозрачный GIF -- рамка смотрится некрасиво. Избавиться от рамки, даже когда картинка -- ссылка, можно явным заданием border=0.

Ссылка без рамки
(задан border=0)
  Ссылка с рамкой
(border не задан)
Попробуй, догони!   Эх, не догнать... Посадили в клетку!
Эти ссылки заданы так:

<A href=05ex0401.htm><IMG src=./pic/auto.gif border=0
   width=200 height=68
   alt="Попробуй, догони!"></A>

<A href=05ex0401.htm><IMG src=./pic/auto.gif
   width=200 height=68
   alt="Эх, не догнать... Посадили в клетку!"></A>

Зачетный класс

Нажмите кнопку "Сброс", затем выберите верные ответы на вопросы.

  1. Запишите имя команды для задания картинки


  2. Запишите имя атрибута для задания файла с картинкой


  3. Запишите имя атрибута для задания надписи


  4. Запишите имя атрибута для задания положения картинки


  5. Запишите имя атрибута для задания толщины рамки


  6. Задавая разные значения атрибутам width, height, можно изменить размер картинки на диске.


  7. Какой графический формат можно использовать для передачи высококачественных фотографий?


  8. Файл какого графического формата может содержать мультипликацию?


  9.  
    Бабочка крапивница зимовала в стогу. Солнце нагрело стог, и заструилось от него тепло. К теплу, на припек, и выползла неловкая и сонная бабочка... Крапивница отогрелась и затрепетала от нетерпения. Качнулся ветерок, она вспорхнула и понеслась.

    "Теплая струйка"
    Н.Сладков

    Установите атрибуты команды
    IMG в соответствие с видом
    картинки в документе.
    align
    border
    alt


  10.  
    Бабочка крапивница зимовала в стогу. Солнце нагрело стог, и заструилось от него тепло. К теплу, на припек, и выползла неловкая и сонная бабочка...Бабочка крапивница Крапивница отогрелась и затрепетала от нетерпения. Качнулся ветерок, она вспорхнула и понеслась.

    "Теплая струйка"
    Н.Сладков

    Установите атрибуты команды
    IMG в соответствие с видом
    картинки в документе.
    align
    border
    alt


  11.  
    Бабочка крапивница зимовала в стогу. Солнце нагрело стог, и заструилось от него тепло. К теплу, на припек, и выползла неловкая и сонная бабочка...Бабочка Крапивница отогрелась и затрепетала от нетерпения. Качнулся ветерок, она вспорхнула и понеслась.

    "Теплая струйка"
    Н.Сладков

    Установите атрибуты команды
    IMG в соответствие с видом
    картинки в документе.
    align
    border
    alt


  12.  
    Бабочка крапивница зимовала в стогу. Солнце нагрело стог, и заструилось от него тепло. К теплу, на припек, и выползла неловкая и сонная бабочка...Бабочка крапивница Крапивница отогрелась и затрепетала от нетерпения. Качнулся ветерок, она вспорхнула и понеслась.

    "Теплая струйка"
    Н.Сладков

    Установите атрибуты команды
    IMG в соответствие с видом
    картинки в документе.
    align
    border
    alt


Чтобы увидеть результат работы, нажмите кнопку "Оценка".


Задания

  1. Веселый зоопарк. Создайте для детей страничку с забавными историями про животных. В качестве иллюстраций можно использовать коллекцию аннимированных картинок из каталога "./pic05".

[оглавление] [урок 4] [урок 6]