| image = указатель рисунка |
| Когда изображение загружено с помощью
команды LoadImage, начало координат картинки (позиция
с которой начинается отрисовка картинки)
всегда по умолчанию принято позиции левого
верхнего угла (координаты 0,0). Поэтому
изображение 50x50 пикселей при отрисовке в
координатах экрана 200,200, будет занимать
область с 200,200 до 250,250. Команда MidHandle перемещает начало координат картинки в центр изображения. Изучите данную команду чтобы узнать больше о системе внутренних координат. После команды MidHandle та же картинка с координатами 200, 200 займёт обрасть, начиная с 175,175 по 225,225. Вы можете вручную установить местоположение начало координат изображения, используя команду HandleImage. Вы можете определить его координаты, используя команды ImageXHandle и ImageYHandle. Наконец, Вы можете заставить все изображения автоматически загрузиться с центром изображения в середине, используя команду AutoMidHandle. Замечание: внутренний центр изображения чаще называют указателем (handle), но не следует его путать с указателями на объекты. |
| ; MidHandle/ImageXHandle()/ImageYHandle()/AutoMidHandle ; Граф. режим Graphics 640,480,16 ; Глобальные переменные Global gfxBall ; Загружаем картинку - вам предстоит изменить путь к вашему файлу gfxBall=LoadImage ("C:\Program Files\Blitz Basic\samples\all.bmp") ; Повторяем до нажатия ESC ... While Not KeyHit(1) Text 0,0,"Указатель поумолчанию для gfxBall... Нажмите ESC ..." Text 0,14,"X handle-" + ImageXHandle(gfxBall) ; Печатаем координату Х для указателя Text 0,28,"Y handle-" + ImageYHandle(gfxBall) ; Печатаем координату Y для указателя DrawImage gfxBall,200,200,0 ; рисуем картинку в позиции 200,200 Wend ; Очищаем экран Cls ; выставляем координаты указателя равные координатам физ. центра изображения MidHandle gfxBall ; Пока ненажат ESC ... показываем новую информацию While Not KeyHit(1) Text 0,0,"Новые координаты указателя gfxBall... Нажмите ESC ..." Text 0,14,"X handle-" + ImageXHandle(gfxBall) Text 0,28,"Y handle-" + ImageYHandle(gfxBall) DrawImage gfxBall,200,200,0 Wend ; Разрешаем автоматическое центрирование указателя картинки AutoMidHandle True Cls ; Загружаем картинки снова gfxBall=LoadImage ("C:\Program Files\Blitz Basic\samples\all.bmp") ; Пока не нажат ESC ... показываем новую информацию While Not KeyHit(1) Text 0,0,"Автоматически установленные внутренние координаты gfxBall... Нажмите ESC ..." Text 0,14,"X handle-" + ImageXHandle(gfxBall) Text 0,28,"Y handle-" + ImageYHandle(gfxBall) DrawImage gfxBall,200,200,0 Wend |