Sub TextDrawA(ByRef text As String,ByVal x As Integer, ByVal y As Integer, ByVal GpFont As Any Ptr=0, ByVal color As Integer=&hFFFFFFFF,ByVal brush As Any Ptr=0,ByVal mode As Integer=0)
Используется для рисования текста. Вывод текста по координатам X,Y может не совпадать на Windows и Linux из-за того, что используются разные подсистемы вывода текста (в Windows GDI+ , в Linux Pango Cairo). В этих подсистемах используются различные алгоритмы для разных шрифтов и размеров. К сожалению , мне не удалось достичь одинаковой работы. Это следует учитывать!
text - любой рисуемый текст
x , y - начальные координаты вывода текста (левый верхний угол)
GpFont - шрифт Gdi+ в Windows , Pango в Linux (по умолчанию в Windows Arial 12 , в Linux Sans 12)
color - цвет текста. Параметр игнорируется , если используется параметр Brush
brush - кисть для заполнения текста (может быть создана функцией CreateBrushA (градиэнт или текстура))
mode - (параметр игнорируется в Linux, поскольку в Linux текст всегда сглаживается). Возможные режимы сглаживания текста в Windows:
TextRenderingHintSystemDefault = 0
TextRenderingHintSingleBitPerPixelGridFit = 1
TextRenderingHintSingleBitPerPixel = 2
TextRenderingHintAntiAliasGridFit = 3
TextRenderingHintAntiAlias = 4
TextRenderingHintClearTypeGridFit=5
Windows , Linux
#Include "window9.bi"
Dim As Any Ptr Gpbitmap=Create_ImageA(250,270)
Dim As Hbitmap bmp
Dim As HWND hw
ImageStartDrawA(Gpbitmap)
ModeDrawA(ANTIALIAS_GOOD)
TextDrawA("FreeBasic",10,100,,&h8000FF00,,4)
CircleDrawA(125,125,50,&h700000FF,,&h700000FF)
StopDrawA
hw=OpenWindow("GDI+",100,100,250,270)
CenterWindow(hw)
bmp=CreateHBitmapFromGpBitmap(GpBitmap,&hf0f0F0)
ImageGadget(1, 0,0,300,300, bmp)
Do:Loop Until WaitEvent()= eventclose
FreeGpBitmap(Gpbitmap):Free_Image(bmp)
Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation