api.imagefont: Functions Modinfo Source  

Графические шрифты.

Functions Summary

DrawString Отрисовать строку по текущему шрифту.
DrawStringRect Отрисовать строку с форматированием по текущему шрифту.
FormatString Форматировать строку по текущему щрифту.
FormatStringHeight Получить высоту текста после форматирования.
FormatStringLines Получить количество строк после форматирования.
GetFontKerning Получить расстояние между буквами текущего шрифта.
LoadFont Загрузить файл шрифта.
SetFont Установить текущий шрифт.
SetFontBoldModel Отрисовать строку с форматированием по текущему шрифту.
SetFontKerning Установить текущему шрифту расстояние между буквами.
StringHeight Получить высоту в пикселях текущего шрифта.
StringWidth Получить ширину строки в пикселях по текущему шрифту.

Functions

Function DrawString:Int(text:String, x:Float, y:Float, cx:Byte = False, cy:Byte = False, ls:Int = 0)
ReturnsЦелое число.
DescriptionОтрисовать строку по текущему шрифту.
Information.
Example
SuperStrict

Import api.imagefont

SetGraphicsDriver(D3D7Max2DDriver())
Graphics 1024, 768

SetFont()

Local str:String = "Hello to ALL!!! What ? You are [color,255,255,0]stuppid!" + Chr(10) + "Blood hood gangs![\color] Vaulya! Paris forever!"

While Not KeyHit(KEY_ESCAPE)
	Cls
	SetRotation(GetRotation() + 1)
	SetScale(2, 2)
	DrawString(str, MouseX(), MouseY(), 1, 1, 0)
	Flip(1)
Wend

End

Function DrawStringRect:Int(text:String, x:Float, y:Float, w:Int, cx:Byte = False, cy:Byte = False, ls:Int = 0)
ReturnsЦелое число.
DescriptionОтрисовать строку с форматированием по текущему шрифту.
Information.
Example
SuperStrict

Import api.imagefont

SetGraphicsDriver D3D7Max2DDriver()
Graphics 1024, 768

SetFont()

Local str:String = "Hello to ALL!!! Go go go! What ... nothing! [color,255,0,0]But you steel wrong![color] GSA " + ..
"GTA - this is a [color,0,255,255]grand thief auto!!![color] Vice city? ... =)" + ..
"SBJoker from [color,255,255,0]CodeExotics?[color] [color,255,0,0]NOT[color] or [color,0,255,0]YES[color] ?"

While Not KeyHit(KEY_ESCAPE)
	Cls
	Local h:Int = DrawStringRect(str, 0.0, 0.0, MouseX(), 0, 0, 0)
	DrawLine(MouseX(), 0, MouseX(), 768)
	DrawLine(0, h, MouseX(), h)
	Flip(1)
Wend

End

Function FormatString:String(text:String, w:Int)
ReturnsСтроку.
DescriptionФорматировать строку по текущему щрифту.
Information.

Function FormatStringHeight:Int(ls:Int = 0)
ReturnsЦелое число.
DescriptionПолучить высоту текста после форматирования.
Information.

Function FormatStringLines:Int()
ReturnsЦелое число.
DescriptionПолучить количество строк после форматирования.
Information.

Function GetFontKerning:Int()
ReturnsЦелое число.
DescriptionПолучить расстояние между буквами текущего шрифта.
Information.

Function LoadFont:TImage(url:Object, flags:Int = -1)
ReturnsОбьект шрифта.
DescriptionЗагрузить файл шрифта.
Information.
Example
SuperStrict

Import api.imagefont

'SetGraphicsDriver(D3D7Max2DDriver())
SetGraphicsDriver(GLMax2DDriver())
Graphics 1024, 768

Local f:TImage = api.imagefont.LoadFont("2.PNG", FILTEREDIMAGE)

SetFont(f)

Local str:String = "Hello to ALL!!! Go go go! What ... nothing! But you steel wrong! GSA " + ..
"GTA - this is a grand thief auto!!! Vice city? ... =)" + ..
"SBJoker from CodeExotics? NOT or YES ?"
SetClsColor(128, 128, 128)

While Not KeyHit(KEY_ESCAPE)
	Cls
	SetBlend(ALPHABLEND)
	Local h:Int = DrawStringRect(str, 0.0, 0.0, MouseX(), 0, 0, 0)
	DrawLine(MouseX(), 0, MouseX(), 768)
	DrawLine(0, h, MouseX(), h)
	Flip(1)
Wend

End

Function SetFont(font:TImage = Null)
ReturnsНичего.
DescriptionУстановить текущий шрифт.
Information.

Function SetFontBoldModel(lf:Byte = 1, rt:Byte = 0, up:Byte = 0, dn:Byte = 0, lu:Byte = 0, ld:Byte = 0, ru:Byte = 0, rd:Byte = 0)
ReturnsЦелое число.
DescriptionОтрисовать строку с форматированием по текущему шрифту.
Information.

Function SetFontKerning(kerning:Int = 0)
ReturnsНичего.
DescriptionУстановить текущему шрифту расстояние между буквами.
Information.
Example
SuperStrict

Import api.imagefont

Graphics 1024, 768

SetFont()
SetFontKerning(25)

Local str:String = "Hello to ALL!!!"

While Not KeyHit(KEY_ESCAPE)
	Cls
	DrawString(str, MouseX(), MouseY(), 1, 0, 0)
	Flip(1)
Wend

End

Function StringHeight:Int(text:String, ls:Int = 0)
ReturnsЦелое число.
DescriptionПолучить высоту в пикселях текущего шрифта.
Information.

Function StringWidth:Int(text:String)
ReturnsЦелое число.
DescriptionПолучить ширину строки в пикселях по текущему шрифту.
Information.

Module Information

Версия1.37
АвторАльберт Гаскаров
ЛицензияMIT
Права(С) Dynamic bytes
СерверAPI
История1.37
ИсторияВведена поддержка логики True & False
История1.36
ИсторияПолностью изменен синтаксис тэгов
История[bold]жирный текст[\bold]
История[alpha, 0.5]прозрачный текст[\alpha]
История[color, 255, 0, 0]красный текст[\color]
История[blend, ALPHABLEND]текст с измененным блендом[\blend]
История[uline, space, offset]подчеркнутый текст[\uline]
История[mline, space, offset]зачеркнутый текст[\mline]
История1.31
ИсторияФиксирован баг в методе Width(), теперь метод не спотыкается на незакрытых тэгах
История1.30
ИсторияНекоторые улучшения
История1.28
ИсторияДобавлена функция SetFontBoldModel() - устанавливает модель отрисовки жирного текста текущему шрифту
ИсторияФункция SetBoldModel() упразнена
История1.27
ИсторияДобавлена функция SetBoldModel() - позволяющая вручную устанавливать жирность текста
История1.26
ИсторияДобавлен тэг - позволяющий рисовать жирный текст
История1.24
ИсторияТеперь управление цветом реализован через стек, допускается любая канфигурация данных тэгов
История1.20
ИсторияДобавлен тэг - позволяющий подчеркивать нужный участок текста
ИсторияДобавлен тэг - позволяющий зачеркивать нужный участок текста
Историяаргумент 'state' - включает/выключает режим подчеркивания/зачеркивания
Историяаргумент 'space' - включает/выключает режим подчеркивания/зачеркивания пробелов
Историяаргумент 'offset' - устанавливает смещение рисуемой линии по оси Y
Историяесли нет ни одного аргумента то режим подчеркивания/зачеркивания выключается
История1.15
ИсторияДоработана функция FormatString(), теперь учитываются '~n' - характеры во входной строке
История1.14
ИсторияДобавлена функция FormatStringHeight%(ls%=0)
ИсторияДоработан метод Height()
История1.12
ИсторияДобавлено динамическая загрузка ключ-цвета
История1.11
ИсторияДоработано вычисление текущего угла трансформации
История1.10
ИсторияКласс TImageFont перемещен в приватную секцию
ИсторияДобавлен, приватный Null шрифт
ИсторияИзменена функция загрузки шрифта
ИсторияПроведена оптимизация отрисовки шрифтов
ИсторияИзменена функция StringHeight()
ИсторияДоработан тэг , агрументы можно пропускать
ИсторияЗавершено документирование
ИсторияМодуль обновлен для BlitzMAX версии 1.39
История1.06
ИсторияВведена поддержка форматированого текста
ИсторияИзменения в функциях DrawString() и DrawStringRect()
История1.05
ИсторияДобавлен дефолтный шрифт
ИсторияВведена поддержка тэгов
История - установка цвета (количество аргументов любое)
История - возврат к первоначальному цвету
История - установка альфы
История - возврат к первоначальной альфе
История - установка бленда
История - возврат к первоначальному бленду
История1.02
ИсторияДобавлен вспомогательный класс TVector
ИсторияВведена полная поддержка трансформаций
История1.0
ИсторияПервый выпуск