|
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 |