BRL.Max2D:

Функции

Modinfo

Исходники

 

Max2D

Модуль Max2D предоставляет набор команд для рисования 2D графики.

Перед тем, как начать использовать
Max2D, вы должны создать Max2D-объект. Самый простой способ – использование команды Graphics.

Так как
Max2D использует двойную буферизацию, вы должны использовать команду Flip после того, как нужные вам объекты будут нарисованы.

Рисование

Max2D поддерживает следующие команды для рисования:

Команда

Действие

Cls

Очищает Экран

Plot

Рисует точку

DrawLine

Рисует Линию

DrawRect

Рисует прямоугольник

DrawOval

Рисует овал

DrawPoly

Рисует многоугольник

DrawText

Рисует текст

DrawImage

Рисует изображение

DrawPixmap

Рисует Пиксель-Карту

 

Вьюпорт,  начало координат и хэндл

Все команды для рисования, ограничены прямоугольником, называемым вьюпорт (т.е. видимая область). Изменения, проходящие вне вьюпорта, будут видимы не полностью или вообще невидимыми. Чтобы установить вьюпорт используйте команду SetViewport.

Так же на команды рисования влияет начало координат и хэндл. Установить их значения вы можете с помощью команд  SetOrigin и SetHandle.

Текущее начало координат (
origin) – это величины X и Y, вычитаемые из всех координат при рисовании объектов, перед тем, как  будут применены трансформации вращения и масштабирования. Это позволяет вам определить локальный 'центр'  для рисования. С другой стороны начло координат – это Х и Y координаты, добавляемые после вращения и масштабирования. Прим. Переводчика. Если проще, то Origin – это координаты, относительно которых будут происходить действия.

Цвет, альфа и смешивание

Так же на команды рисования действуют такие параметры как: альфа, цвет и смешивание (blend). Задать их значение вы можете с помощью этих команд:  SetColor, SetAlpha, SetBlend.

Альфа – уровень прозрачности объекта, она особенно важна, когда вы используете режим смешивания - ALPHABLEND.

От режима смешивания зависит, каким образом пиксели заднего буфера будут комбинироваться. Возможные
режимы смешивания:

Смешивание

Эффект

SOLIDBLEND

Пиксели заменят уже существующие в заднем буфере пиксели 

MASKBLEND

Пиксели рисуются только если их альфа больше 0.5

ALPHABLEND

Пиксели смешиваются альфой с пикселями заднего буфера

LIGHTBLEND

Пиксели меняют цвет, и появляется эффект “свечения” 

SHADEBLEND

Пиксели меняют цвет, и появляется эффект “затемнения” 

 

Вращение и Масштабирование

На команды рисования влияет вращение и масштаб. Задать масштаб вы можете с помощью команды SetScale, а вращение - SetRotation.Вращение и масштабирование происходит относительно хэндла.

Изображения

Изображения – это пре-рендеренные кусочки графики, которые могут быть эффективно нарисованы с помощью команды DrawImage. Обычно изображения сохраняют в формат png, bmp или jpg, для того, что бы загрузить такие изображения нужно воспользоваться командой LoadImage.

На изображение действует цвет, альфа, смешивание, вращение и масштаб. Прежде чем изображения будут рисоваться цвет каждого пикселя будет зависеть от текущего цвета в результате получится эффект оттенка. Что бы избавиться от этого эффекта, нужно сделать текущий цвет – белым.

Так же изображения могут иметь цвет маски. Этот цвет означает прозрачность у изображения при использовании режима смешивания -
MASKBLEND. Что бы установить его используйте команду SetMaskColor.

Изображения могут быть созданы путем “захвата” региона заднего буфера с помощью команды GrabImage.

Пиксель-Карта (PixMap)

Пиксель-Карта используются для управления изображениями на уровне пикселей, подробнее в модуле Pixmap.

LockImage открывает вам прямой доступ к изображению, для работы с пикселями. После того как вы закончите работать с пикселями вы должны будете вызвать команду UnlockImage. Команды DrawPixmap и GrabPixmap позволяют вам перемещать пиксели в задний буфер.

Коллизии

Модуль Max2D предоставляет многослойную пиксель совершенную систему коллизий. Команды CollideRect и CollideImage позволяют проверять изображения и прямоугольники на столкновения в 32 слоях коллизий.

Текущий масштаб, вращение, начало координат и хэндл, учитываются командами для точного определения текущего нахождения объекта.

Команда ResetCollisions используется для очищения одного или всех слоев коллизий.

Функции

Функция AutoImageFlags( flags )

Описание

Автоматически устанавливает флаги для изображений.

Информация

Флаги для изображений используются командами LoadImage и CreateImage но только до тех пор пока пользователь не определит их вручную. Полный список существующих флагов описан в команде LoadImage. Умолчания функции AutoImageFlags - MASKEDIMAGE | FILTEREDIMAGE.

 

Функция AutoMidHandle( enable )

Описание

Включает или выключает режим центрования.

Информация

Когда режим авто центрования включен, все изображения, как только создаются, автоматически центрируются (см. MidHandleImage). Если режим авто центрования выключен, то центром изображений будет их верхний левый угол. После вызова команды Graphics, AutoMidHandle принимает значение False.(Ложь)

 

Функция Cls()

Описание

Очищает Графический Буфер.

Информация

Очищает Графический Буфер определенным цветом, задать его вы можете командой SetClsColor.

Пример

' cls.bmx
 
' вращающийся текст
' удалите из кода команду cls и вы
' увидите, что экран нужно очищать
 
Graphics 640,480
SetOrigin 320,240
While Not KeyHit(KEY_ESCAPE)
        Cls 
        SetRotation frame
        DrawText "Press Escape To Exit",0,0
        Flip
        frame:+1
Wend

 

Функция CollideImage:Object[](image:TImage,x,y,frame,collidemask%,writemask%,id:Object=Null)

Описание

Пиксель совершенная проверка на столкновения между двумя изображениями.

Информация

Параметр collidemask определяет, какой слой коллизии надо проверить. Параметр writemask определяет, поступает ли изображение в слой коллизии, прежде трансформировавшись. (Прим. Переводчика: Иными словами, параметр writemask     должен равняться единице, если до этого изображение вращалось или масштабировалось.) Параметр id отвечает за то, что возвратит функция CollideImage при следующем ее использовании.

Пример

Strict
 
Local rot,x,y
 
Graphics 640,480
 
AutoMidHandle True     'изображения будут вращаться относительно своего центра
 
Local image:TImage=LoadImage("bullet.png")
 
While Not KeyHit(KEY_ESCAPE)
        Cls
        ResetCollisions
 
' нарисуем изображение, увеличенное в пять раз и повернутое на произвольное кол-во градусов
        
        SetScale 5,5
        SetRotation 125
 
        DrawImage image,200,200
 
' добавим изображение к первому слою коллизий, с теми параметрами,(позиция, вращение) 
' с которыми оно было нарисовано
 
        CollideImage image,200,200,0,0,1
 
' перемещаем изображение в координаты мышки и делаем приращение вращению
 
        x=MouseX()
        y=MouseY()-20
        rot:+1
 
        SetRotation rot
        DrawImage image,x,y
 
' проверяем изображение на столкновения
 
        If CollideImage(image,x,y,0,1,0)
 
' сбрасываем вращение и масштаб для того, чтобы наш текст корректно отображался            
 
               SetScale 1,1
               SetRotation 0
               DrawText "COLLISION!",20,20
 
        EndIf
 
        Flip
Wend

 

Функция CollideRect:Object[](x,y,w,h,collidemask%,writemask%,id:Object=Null)

Описание

Пиксель совершенная проверка на столкновения между слоями изображений.

Информация

Параметр collidemask определяет, какой слой коллизии надо проверить.
Параметр
writemask определяет, поступает ли изображение в слой коллизии, прежде трансформировавшись.
Параметр
id отвечает за то, что возвратит функция CollideImage при следующем ее использовании.

 

Функция CreateImage:TImage( width,height,frames=1,flags=-1 )

Возвращает

Новое изображение.

Описание

Создает пустое изображение.

Информация

CreateImage создает 'пустое' изображение, которое должно быть инициализировано командами GrabImage или LockImage перед тем как будет нарисовано.

Значение параметра Флаг вы можете посмотреть в справке команды LoadImage. Параметр
флаг должен комбинироваться с DYNAMICIMAGE.

Пример

' createimage.bmx
 
' Создает изображение размером 256x1 с градиентом (от черного к синему)
 
Const ALPHABITS=$ff000000
 
Graphics 640,480,32
 
image=CreateImage(256,1)
map=LockImage(image)
For i=0 To 255
        WritePixel(map,i,0,ALPHABITS|i)
Next
UnlockImage(image)
 
DrawImageRect image,0,0,640,480
DrawText "Blue Color Gradient",0,0
 
Flip
 
WaitKey

 

Функция DrawImage( image:TImage,x#,y#,frame=0 )

Описание

Рисует изображение на задний буфер.

Информация

На рисование воздействуют некоторые параметры: режим смешивания, текущий цвет, масштаб и вращение.

Если режим смешивания –
ALPHABLEND, то на изображение действует текущее значение альфы, а при рисовании альфа каналы смешаются с фоном.

 

Функция DrawImageRect( image:TImage,x#,y#,w#,h#,frame=0 )

Описание

Рисует изображение в прямоугольную область заднего буфера.

Информация

На рисование воздействуют некоторые параметры: режим смешивания, текущий цвет, масштаб и вращение.

Если режим смешивания –
ALPHABLEND, то на изображение действует текущее значение альфы.

 

Функция DrawLine( x#,y#,x2#,y2#,draw_last_pixel=True )

Описание

Рисует линию.

Информация

DrawLine рисует линию от x, y до x2, y2 с текущим цветом.

Команды, влияющие на рисование линии: SetLineWidth, SetColor, SetHandle, SetScale, SetRotation, SetOrigin, SetViewPort, SetBlend and SetAlpha. Не обязательный параметр draw_last_pixel отвечает, рисовать последний пиксель или нет. Он может быть полезен при использовании смешивания.

Пример

' drawline.bmx
 
' Программа нарисует крестик в позиции мыши с использованием команды DrawLine
 
Graphics 640,480
 
HideMouse 
 
While Not KeyHit(KEY_ESCAPE)
        Cls
        x=MouseX()
        y=MouseY()
        DrawLine 320,240,x,y
        DrawLine x-2,y,x-10,y
        DrawLine x+2,y,x+10,y
        DrawLine x,y-2,x,y-10
        DrawLine x,y+2,x,y+10
        Flip
Wend

 

Функция DrawOval( x#,y#,width#,height# )

Описание

Рисует овал.

Информация

Команда DrawOval рисует овал в области определенной параметрами x, y, width и height.

Команды, влияющие на рисование: SetColor, SetHandle, SetScale, SetRotation, SetOrigin, SetViewPort, SetBlend и SetAlpha.

Пример

' drawoval.bmx
 
' Программа рисует пару глаз(4 овала) с помощью команды DrawOval 
' а позиция зрачков зависит от положения мыши
 
Graphics 640,480
While Not KeyHit(KEY_ESCAPE)
        Cls
        SetColor 255,255,255
        DrawOval 0,0,320,200
        DrawOval 320,0,320,200
        SetColor 0,0,255
        x=(MouseX()-320)/10
        y=(MouseY()-240)/10
        DrawOval 220-32+x,100+y,64,40
        DrawOval 420-32+x,100+y,64,40
        Flip
Wend

 

Функция DrawPixmap( pixmap:TPixmap,x,y )

Описание

Рисует пиксель карту.

 

Функция DrawPoly( xy#[] )

Описание

Рисует многоугольник.

Информация

DrawPoly рисует многоугольник с углами определенными массивом из пар координат x# и y#

Команды, влияющие на рисование: SetColor, SetHandle, SetScale, SetRotation, SetOrigin, SetViewPort, SetBlend и SetAlpha.

Пример

' drawpoly.bmx
 
' Простейший пример создания треугольника 
' с использованием команды DrawPoly 
 
Local tri#[]=[0.0,0.0,100.0,100.0,0.0,100.0]
 
Graphics 640,480
While Not KeyHit(KEY_ESCAPE)
        Cls
        DrawPoly tri
        Flip
Wend

 

Функция DrawRect( x#,y#,width#,height# )

Описание

Рисует Прямоугольник.

Информация

Рисует прямоугольник от координат x# и y#  шириной width# и высотой height#

Команды, влияющие на рисование: SetColor, SetHandle, SetScale, SetRotation, SetOrigin, SetViewPort, SetBlend и SetAlpha.

Пример

' drawrect.bmx
 
' Программа рисует последовательность прямоугольников 
' с разными значениями вращения и масштаба
 
' Используется цикл изменения переменной от 0 до 9 
' Для достижения анимационного эффекта
 
Graphics 640,480
 
SetBlend ALPHABLEND
SetAlpha 0.2
 
While Not KeyHit(KEY_ESCAPE)
        Cls
        DrawText "DrawRect Example",0,0
        For r=t To t+500 Step 10
               SetRotation r
               SetScale r/5,r/5
               DrawRect r,r,2,2
        Next
        t=t+1
        If t=10 t=0
        Flip    
Wend

 

Функция DrawText( t$,x#,y# )

Описание

Рисует Текст.

Информация

DrawText печатает строку в точке x, y используя текущий шрифт, изменить его вы можете используя команду SetImageFont.
Так
же на DrawText действуют такие команды как:SetColor, SetHandle, SetScale, SetRotation, SetOrigin, SetViewPort, SetBlend и SetAlpha.
Рекомендую использовать режим смешивания - ALPHABLEND для не сглаженного текста. Если текст будет отображаться в уменьшенном размере, используйте значение параметра style - SMOOTHFONT. Информации о значениях вы можете посмотреть здесь: LoadImageFont

Пример

' drawtext.bmx
 
' Программа прокручивает текст поперек экрана, путем приращения переменной tickerx 
 
Graphics 640,480
 
Local tickerx#=640
 
text$="Yo to all the Apple, Windows and Linux BlitzMax programmers in the house! "
text:+"Game development is the most fun, most advanced and definitely most cool "
text:+"software programming there is!"
 
While Not KeyHit(KEY_ESCAPE)
        Cls
        DrawText "Scrolling Text Demo",0,0
        DrawText text,tickerx#,400
        tickerx=tickerx-1
        If tickerx<-TextWidth(text) tickerx=640
        Flip    
Wend
 
End

 

Функция GetAlpha#()

Возвращает

Текущее значение альфы в диапазоне 0..1.0.

Описание

Определяет текущее значение альфы.

 

Функция GetBlend()

Возвращает

0 (SOLIDBLEND), 1 (MASKBLEND), 2 (ALPHABLEND), 3 (LIGHTBLEND) или 4 (SHADEBLEND).

Описание

Определяет текущий режим смешивания.

 

Функция GetClsColor( red Var,green Var,blue Var )

Возвращает

Значение Красного, Синего и Зеленого компонентов в диапазоне 0..255.

Описание

Определяет текущий цвет очистки экрана.

 

Функция GetColor( red Var,green Var,blue Var )

Возвращает

Red, green and blue values in the range 0..255 in the variables supplied.

Описание

Определяет красныйиний и зеленый компонент текущего цвета.

 

Функция GetHandle( x# Var,y# Var )

Возвращает

Горизонтальное и вертикальное положение хэндла изображения.

Описание

Определяет, где сейчас находится хэндл изображения.

 

Функция GetImageFont:TImageFont()

Возвращает

Текущий растровый шрифт.

Описание

Определяет текущий растровый шрифт.

 

Функция GetLineWidth#()

Возвращает

Ширину линии в пикселях.

Описание

Определяет ширину линии.

 

Функция GetMaskColor( red Var,green Var,blue Var )

Возвращает

Значения красного, синего и зеленого компонента в диапазоне 0..255.

Описание

Определяет красный, синий и зеленый компонент текущего цвета маски.

 

Функция GetOrigin( x# Var,y# Var )

Возвращает

Горизонтальное и вертикальное положение начала координат.

Описание

Определяет позицию начала координат.

 

Функция GetRotation#()

Возвращает

Поворот в градусах.

Описание

Определяет текущий угол вращения.

 

Функция GetScale( scale_x# Var,scale_y# Var )

Возвращает

Текущий масштаб по X и по Y.

Описание

Определяет текущий масштаб.

 

Функция GetViewport( x Var,y Var,width Var,height Var )

Возвращает

Вертикальное и горизонтальное положение, ширину и высоту текущего вьюпорта.

Описание

Определяет измерения текущего вьюпорта.

 

Функция GrabImage( image:TImage,x,y,frame=0 )

Описание

“Захватывает” изображение с заднего буфера.

Информация

Копирует пиксели с заднего буфера.

Команда применима только к изображениям с флагом
DYNAMICIMAGE.

Пример

' grabimage.bmx
 
' Программа нарисует маленькое изображение с помощью команды grabimage
 
' поскольку цвет маски и очищения экрана по умолчанию – черный, то 
' Маска для захваченного изображения будет прозрачной 
 
Graphics 800,600,0'640,480,32
 
Cls
 
DrawLine 0,0,32,32
DrawLine 32,0,0,32
DrawOval 0,0,32,32
 
Local image=CreateImage(640,480,1,DYNAMICIMAGE|MASKEDIMAGE)
 
GrabImage image,0,0
 
Cls
For i=1 To 100
        DrawImage image,Rnd(640),Rnd(480)
Next
Flip
 
GrabImage image,0,0
Cls
For i=1 To 100
        DrawImage image,Rnd(640),Rnd(480)
Next
Flip
 
 
WaitKey

 

Функция GrabPixmap:TPixmap( x,y,width,height )

Описание

Захватывает пиксель карту.

 

Функция ImageHeight( image:TImage )

Возвращает

Высоту изображения в пикселях.

Описание

Определяет высоту изображения.

 

Функция ImagesCollide(image1:TImage,x1,y1,frame1,image2:TImage,x2,y2,frame2)

Возвращает

True (истину) если в указанной позиции два изображения пересекаются.

Описание

Проверяет два изображения на столкновения.

Информация

ImagesCollide использует значения Вращения и Масштаба, установленные командами SetScale и SetRotation.

 

Функция ImagesCollide2(image1:TImage,x1,y1,frame1,rot1#,scalex1#,scaley1#,image2:TImage,x2,y2,frame2,rot2#,scalex2#,scaley2#)

Возвращает

True (истину) если в указанной позиции два изображения пересекаются.

Описание

Проверяет изображения на столкновения с их произвольными значениями вращения и масштаба.

Информация

ImagesCollide2 использует значения вращения и масштаба двух изображений для точной проверки на столкновения.

 

Функция ImageWidth( image:TImage )

Возвращает

Ширину изображения в пикселях.

Описание

Определяет ширину изображения.

 

Функция LoadAnimImage:TImage( url:Object,cell_width,cell_height,first_cell,cell_count,flags=-1 )

Возвращает

Объект – изображение.

Описание

Загружает несколько кадровое изображение.

Информация

LoadAnimImage извлекает кадры из одного изображения. Параметр url может быть строкой или указателем на существующую пиксель карту.
Посмотрите справку LoadImage чтобы увидеть возможные значения флагов.

 

Функция LoadImage:TImage( url:Object,flags=-1 )

Возвращает

Новый объект - изображение.

Описание

Загружает изображение.

Информация

Параметр url может быть строкой или указателем на существующую пиксель карту.

Параметр
flags может равняться  0, -1, или комбинацией этих значений:

Значение

Эффект

MASKEDIMAGE

Изображение будет с маской, цветом, установленным командой SetMaskColor().

FILTEREDIMAGE

Изображение будет сглажено, при вращении или масштабировании вы не увидите “резких” пикселей.

MIPMAPPEDIMAGE

Изображение будет сглажено, если будет уменьшено.

DYNAMICIMAGE

Изображение можно будет изменять с помощью команд LockImage или GrabImage



Примечание. Изображения с флагом MIPMAPPEDIMAGE “кушают” дополнительную видеопамять, так что используйте этот флаг в случае крайней необходимости.

Если параметр флаг равен -1, это означает, что будут использоваться те флаги, которые установлены командой AutoImageFlags.

Чтобы комбинировать флаги используйте символ | (Булевой ИЛИ оператор).

 

Функция LoadImageFont:TImageFont( url:Object,size,style=SMOOTHFONT )

Возвращает

Объект – растровый шрифт.

Описание

Загружает растровый шрифт.

Информация

В параметре style вы можете указать флаги типа BOLDFONT, ITALICFONT и SMOOTHFONT. Если вы будете масштабировать или вращать шрифт, то ставьте флаг SMOOTHFONT.

 

Функция LockImage:TPixmap( image:TImage,frame=0,read_lock=True,write_lock=True )

Возвращает

Пиксель карту, содержащую изображение.

Описание

Блокирует изображение для прямого доступа.

Информация

Блокировка изображения дает возможность напрямую работать с его пикселями.

Блокировке поддаются только изображения с флагом
DYNAMICIMAGE.

Заблокированные изображения перед рисованием должны быть разблокированы командой UnlockImage.

 

Функция MidHandleImage( image:TImage )

Описание

Устанавливает хэндл в центр изображения.

 

Функция Plot( x#,y# )

Описание

Рисует точку.

Информация

Что бы установить цвет точки, используйте SetColor. Команды, влияющие на рисование точки: SetOrigin, SetViewPort, SetBlend и SetAlpha.

Пример

' plot.bmx
 
' Программа рисует косинуcойду
' Путем приращения переменной frame 
 
Graphics 640,480
 
While Not KeyHit(KEY_ESCAPE)
        Cls
        For x=0 To 640
               theta=x+frame
               y=240-Cos(theta)*240
               Plot x,y
        Next
        frame=frame+1
        Flip
Wend

 

Функция ResetCollisions(mask%=0)

Описание

Очищает слой коллизий определенный параметром mask, при значении mask=0, от коллизий очистятся все слои.

Информация

Система коллизий в BlitzMax предоставляет 32 слоя. Параметр mask может быть комбинацией значений, а специальное значение - COLLISION_LAYER_ALL выполняет операции столкновения на всех слоях
Замечание:
COLLISION_LAYER_32 используется командами ImagesCollide и ImagesCollide2.

Слой

Маска

COLLISION_LAYER_ALL

0

COLLISION_LAYER_1

$0001

COLLISION_LAYER_2

$0002

COLLISION_LAYER_3

$0004

COLLISION_LAYER_4

$0008

COLLISION_LAYER_5

$0010

COLLISION_LAYER_6

$0020

COLLISION_LAYER_7

$0040

COLLISION_LAYER_8

$0080

COLLISION_LAYER_9

$0100

COLLISION_LAYER_10

$0200

COLLISION_LAYER_11

$0400

COLLISION_LAYER_12

$0800

COLLISION_LAYER_13

$1000

COLLISION_LAYER_14

$2000

COLLISION_LAYER_15

$4000

COLLISION_LAYER_16

$8000

 

Функция SetAlpha( alpha# )

Описание

Устанавливает альфу.

Информация

Параметр alpha должен быть в диапазоне от 0 до 1.

Параметр alpha контролирует уровень прозрачности, когда включен режим смешивания - ALPHABLEND. При значении 0.0 объект будет полностью прозрачным, а соответственно, при 1.0 не прозрачным.

 

Функция SetBlend( blend )

Описание

Устанавливает режим смешивания.

Информация

От режима смешивания зависит, каким образом пиксели заднего буфера будут комбинироваться.

Параметр blend может быть:

Смешивание

Эффект

SOLIDBLEND

Пиксели заменят уже существующие в заднем буфере пиксели 

MASKBLEND

Пиксели рисуются только если их альфа больше 0.5

ALPHABLEND

Пиксели смешиваются альфой с пикселями заднего буфера

LIGHTBLEND

Пиксели меняют цвет, и появляется эффект “свечения” 

SHADEBLEND

Пиксели меняют цвет, и появляется эффект “затемнения” 

 

Функция SetClsColor( red,green,blue )

Описание

Устанавливает цвет очищения экрана.

Информация

Красный, зеленый и синий параметры должны быть в диапазоне от 0 до 255.

Цвет по умолчанию – черный.

 

Функция SetColor( red,green,blue )

Описание

Устанавливает текущий цвет.

Информация

Команда SetColor влияет на команды: Plot, DrawRect, DrawLine, DrawText, DrawImage и DrawPoly.

Красный, зеленый и синий параметры должны быть в диапазоне от 0 до 255.

 

Функция SetHandle( x#,y# )

Описание

Устанавливает хэндл рисования.

Информация

Хэндл рисования – это координаты, которые будут вычтены из координат, которые используют команды рисования, кроме команды  DrawImage, так как изображения имеют свой уникальный хэндл.
В отличие от SetOrigin, хэндл рисования будет вычтен до вращения или масштабирования, тем самым, обеспечивая локальное начало координат.

 

Функция SetImageFont( font:TImageFont )

Описание

Устанавливает растровый шрифт – текущим.

Информация

Чтобы сменить шрифт, используемый командой DrawText, вы должны передать команде SetImageFont указатель на шрифт, загруженный командой LoadImageFont.

Если вы хотите использовать встроенный шрифт вы должны написать так:
SetImageFont Null.

 

Функция SetImageHandle( image:TImage,x#,y# )

Описание

Устанавливает хэндл изображения в указанную позицию.

Информация

Перед рисованием, хэндл изображения вычитается из координат заданных командой DrawImage.

 

Функция SetLineWidth( width# )

Описание

Устанавливает ширину линии в пикселях, которая будет использоваться командой DrawLine.

 

Функция SetMaskColor( red,green,blue )

Описание

Устанавливает цвет маски.

Информация

Цвет маски используется при построении маски у изображений. Красный, зеленый и синий параметры должны быть в диапазоне от 0 до 255.

 

Функция SetOrigin( x#,y# )

Описание

Устанавливает начало координат для рисования.

Информация

Начало координат – x и y координаты, которые прибавляются к координатам всех объектов после вращения или масштабирования.

 

Функция SetRotation( rotation# )

Описание

Устанавливает угол вращения.

Информация

Так как параметр rotation – угол, то он должен быть в диапазоне от 0 до 360.

 

Функция SetScale( scale_x#,scale_y# )

Описание

Устанавливает масштабирование.

Информация

Параметры scale_x и scale_y умножаются на ширину и высоту всех объектов. Если параметры будут равны 0.5, то объект будет в два раза меньше, а если 2.0, то объект будет в два раза больше.

 

Функция SetTransform( rotation#=0,scale_x#=1,scale_y#=1 )

Описание

Устанавливает угол вращения и масштабирование.

Информация

Команда SetTransform помогает установить угол вращения и масштаб за один вызов.

 

Функция SetViewport( x,y,width,height )

Описание

Устанавливает вьюпорт.

Информация

Все команды для рисования, ограничены прямоугольником, называемым вьюпорт (т.е. видимая область). Изменения, проходящие вне вьюпорта, будут видимы не полностью или вообще невидимыми

 

Функция TextHeight( text$ )

Возвращает

Высоту текста в пикселях.

Описание

Определяет высоту текста.

Информация

Эта команда полезна для того, чтобы вычислить вертикальное выравнивание текста, используя команду DrawText.

 

Функция TextWidth( text$ )

Возвращает

Ширину текста в пикселях.

Описание

Определяет ширину текста.

Информация

Эта команда полезна для того, чтобы вычислить горизонтальное выравнивание текста, используя команду DrawText.

 

Функция TileImage( image:TImage,x#=0#,y#=0#,frame=0 )

Описание

Рисует изображение в плиточном образце.

Информация

Команда TileImage заполняет весь вьюпорт изображением, в плиточном образце.

 

Функция UnlockImage( image:TImage,frame=0 )

Описание

Разблокирует изображение.

Информация

Разблокирует изображение, которое было заблокировано командой LockImage.



Информация Модуля

Version

1.19

Author

Mark Sibly, Simon Armstrong

License

Blitz Shared Source Code

Copyright

Blitz Research Ltd

Modserver

BRL

History

1.19 Release

History

Fixed collision bug with non alpha/masked images

History

1.18 Release

History

Add Flip Hook and polledinput

History

1.17 Release

History

Added MIPMAPPEDIMAGE to smooth fonts

History

Fixed ImageFont TImage.Load parameters in wrong order!

History

1.16 Release

History

Improved ImageFont unicode support

History

1.15 Release

History

Added OnEnd EndGraphics

History

1.14 Release

History

CreateImage/LockImage now always returns RGBA8888 pixmap

History

Fixed multiple Graphics calls crashing due to using Flip before DetectSync

History

1.13 Release

History

LoadImageFont generates filteredimage images only for smoothfont fonts

History

1.12 Release

History

Added MIPMAPPEDIMAGE flag

History

1.11 Release

History

Fixed Garbage at graphics startup

History

1.10 Release

History

Fixed LockImage bug

History

1.09 Release

History

Integrated with new graphics system

History

ImageFrames now lazily evaluated

History

Fixed GetMaskColor

History

1.08 Release

History

Collision system optimized

History

Graphics now does an EndGraphics first

History

1.07 Release

History

1.06 Release

History

Added GetLineWidth#()

History

Added GetClsColor( red Var,green Var,blue Var )

History

Fixed Object reference bug in Collision system

History

1.05 Release

History

Fixed AnimImage collisions

History

Fixed ImagesCollide/ImagesCollide2 parameter types