MidHandle image

Параметры

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


Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в Интернете