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

Вернуться

Hosted by uCoz