GI.TextWidthAndHeight
TextWidthAndHeight (Общие функции объекта GI) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция находит ширину и, если требуется, высоту и правый выступ последнего символа текста, включаемый в общую ширину. Такие отступы обычно используются для кернинга символов. Функция помещает новые символы текста во внутренний буфер-текстуру (см. RenderText), для того, чтобы не пользоваться системными функциями при последовательных вызовах, что увеличивает скорость работы.
Синтаксис
GI.TextWidthAndHeight(<Текст для нахождения размеров (STRING)>,<Свойства шрифта (STRING)>,<Ширина текста в пикселях (INT)>,<Высота текста в пикселях (INT)>,<Правый отступ в пикселях (INT)>)
Аргументы
<Текст для нахождения размеров (STRING)>
- Аргумент задает текст для нахождения ширины и высоты. В тексте можно использовать международные символы.<Свойства шрифта (STRING)>
- Аргумент задает наименование, размер и другие свойства шрифта текста в формате:<Имя шрифта>,<Размер>,<Стиль>,,,<Тип сглаживания (0..3)>
. Стиль шрифта задается как совокупность начальный букв сл. свойств: Bold, Italic, Uderlined, Strikeout, при пустом значении, используется стиль по умолчанию. Доступны следующие типы сглаживания: 0 -- сглаживание по умолчанию на системном уровне, 1 (по умолчанию) -- стандартное сглаживание, 2 -- сглаживание типа ClearType (не рекомендуется), 3 -- без сглаживания. Смотрите также статью Формат записи шрифтов в системе.<Ширина текста в пикселях (INT)>
- (возможен аргумент-переменная (ByRef)) Переменная получает ширину текста в пикселях.<Высота текста в пикселях (INT)>
- (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Переменная получает высоту текста в пикселях.<Правый отступ в пикселях (INT)>
- (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Переменная получает правый выступ последнего символа текста, включаемый в общую ширину.
Пример
... аМинуты:=Trunc(лкВремяВИгре/60+0.0000000001); аСекунды:=Trunc(лкВремяВИгре-аМинуты*60+0.0000000001); тВремя:=Right("0"+аМинуты,2)+":"+Right("0"+аСекунды,2)+"."+Right("00"+Trunc(Frac(лкВремяВИгре)*1000),3); Шрифт:="Tahoma,"+лкРазмерШрифта+",BI,"+ЦветШрифта+",,1"; Шрифт2:="Arial,"+max(0,(лкРазмерШрифта-1))+",B,"+ЦветШрифта+",,1"; аШир:=0; аВыс:=0; aGI.TextWidthAndHeight("Время",Шрифт,аШир,аВыс); aGI.RenderText("Время",Шрифт,0,x0,y0,0.5,"0,1,0,2"); aGI.TextWidthAndHeight(тВремя,Шрифт2,аШир); aGI.RenderText(тВремя,Шрифт2,0,x0,y0+аВыс,0.5,"0,1,0,2"); ...