-
Здравствуйте!
-
Есть такая ситуация: необходимо выводить повернутый текст на TCanvas, но с одним условием - он должен центрироваться (планируется анимация), т.е. должны смешаться координаты x и y начала текста с определенной системой. Помогите написать алгоритм вычисления x и y в зависимости от размеров Canvas и размера шрифта.
-
а как он выводится повернутым?
-
Function OSAL_GetTextSize(const Text:string):TPoint; {$ifdef win32} var Size:TSize; begin GetTextExtentPoint32(h_Dc,PChar(Text),Length(Text),Size); Result.x:=Size.cx; Result.y:=Size.cy; end; {$else} var direction, ascent, descent:integer; XCharStruct:TXCharStruct; begin if CurrentFont<>nil then XTextExtents(CurrentFont,PChar(Text),Length(Text),@direction, @ascent, @descent,@XCharStruct); Result.x:=XCharStruct.width; Result.y:=ascent + descent; end; {$endif}
|