Сборка картин из пикселов \ Версии программ с возможностью трансформации квадратиков \ Пределы возможностей HR-а \
 

4.1.1. Опыт 1

 

Ниже расположен красный квадратик, визуализированный посредством тэга HR. Для него установлены следующие параметры: ширина = 30 пикселов и высота = 30 пикселов. Эти параметры отображаются в строке состояния броузера (см. внизу экрана).

Пользуясь расположенными ниже кнопками, вы можете увеличить или уменьшить размеры квадрата. Нажатие, например, кнопки "Увеличить" запускает процесс увеличения размеров квадрата со скоростью, указанной в соответствующем поле ввода. Скорость указана в миллисекундах (одна миллисекунда — тысячная доля секунды). Если вам не нравится установленное по умолчанию значение скорости, то введите свое значение и нажмите кнопку "Скорость". После того, как процесс увеличения размеров квадрата запущен, остановить его можно повторным нажатием кнопки "Увеличить" (либо нажатием кнопки "Уменьшить").

 

Давайте сначала разберемся с возможностями уменьшения исходного квадрата. Итак, нажимаем на кнопку "Уменьшить". Квадрат начнет уменьшаться в соответствии с выставляемыми для тэга HR значениями ширины и высоты (изменение этих значений в динамике можно наблюдать в строке состояния броузера). Нулевое или отрицательное значения ширины и высоты не имеют смысла, поэтому тэг HR при выставлении этих значений визуализирует квадратик размером 1 на 1 пиксел. В принципе, такое поведение тэга HR можно признать разумным.

К сожалению, в случае увеличения исходного квадрата все происходит не так гладко. Тэг HR корректно отображает увеличивающийся квадрат до тех пор, пока его высота не превысит 100 пикселов. После этого он отказывается адекватно визуализировать выставляемое для него значение высоты и реально отображает высоту равную 100 пикселам. При этом ширина всегда отображается корректно.

Таким образом, из вышесказанного следует, что тэг HR хорошо приспособлен для визуализации разноцветных квадратов лишь в том случае, если их размеры находятся в пределах от 1 на 1 до 100 на 100 пикселов.