Si, mais tu l'as déjà trouvé, c'est la bibliothèque vectordrawing qui utilise l'antialiasing.
Si tu veux faire une animation comme du texte tournant, rien ne sera mieux que d'utiliser les bibliothèque screen et sprite, elles sont faites pour.
Cependant, sous windows seulement, le mieux que l'on puisse avoir sans directx est d'utiliser la solution ici:
http://www.purebasic.fr/english/viewtop ... rawing.pbi
Télécharge gDrawing_v0.85b2.zip et regarde l'exemple22.
Essai ce code:
Code : Tout sélectionner
;EnableExplicit
;#gDrawing_NO_DLL_IMPORT = 1
XIncludeFile "gDrawing.pbi"
Global metafile, mainWin, canvas, angle.f
Procedure OnTimer()
Protected windowWidth = WindowWidth(mainWin)
Protected windowHeight = WindowHeight(mainWin)
If gStartDrawing( CanvasOutput(canvas) )
gClear(RGBA($80,$80,$80,$FF))
gSetPenColor(RGBA(0,0,0,$FF))
gSetFont("Arial",20,#PB_Font_Bold)
height = gTextHeight()
angle=angle + 3;angle + 0.1
gDrawRotatedFormattedText(100,100,350,height,"http://www.purebasic.com/news/",angle,RGBA(255,255,0,255))
gStopDrawing()
EndIf
EndProcedure
Procedure OnSize()
ResizeGadget(canvas,0,0,WindowWidth(mainWin),WindowHeight(mainWin))
OnTimer()
EndProcedure
If gInit()
mainWin = OpenWindow(#PB_Any , 0, 0, 600,600,"gDrawing feature demo",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
canvas = CanvasGadget(#PB_Any, 0, 0, WindowWidth(mainWin),WindowHeight(mainWin))
WindowBounds(mainWin,100,100,800,600)
AddWindowTimer(mainWin, 0, 16)
BindEvent(#PB_Event_Timer , @OnTimer())
BindEvent(#PB_Event_SizeWindow, @OnSize())
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
gEnd()
EndIf
M.