AutoMidHandle true/false
Параметры:
true = картинки будут загружаться со смещением начала внутренних координат в центр картинки (кадра)
false = картинки будут загружаться с системой внутренних координат отсчитываемых от пикселя 0,0 (как обычно)
Определение:
Когда изображение загружено с помощью команды LoadImage, начало координат картинки (позиция с которой начинается отрисовка картинки) всегда по умолчанию принято позиции левого верхнего угла (координаты 0,0). Поэтому изображение 50x50 пикселей при отрисовке в координатах экрана 200,200, будет занимать область с 200,200 до 250,250. От переводчика: если же загрузить картинку после команды AutoMidHandle true, то отрисовка той же картинки в координатах экрана 200, 200, займёт обрасть начиная с 175,175 по 225,225.
Команда MidHandle перемещает начало координат картинки в центр изображения. Изучите данную команду чтобы узнать больше о системе внутренних координат.
Эта команда избавляет от необходимости применять команду MidHandle для каждого загружаемого изображения с целью переместить внутренне начало координат изображения в центр.
Замечание: внутренний центр изображения чаще называют указателем (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
Вернуться