N'étant pas très familier de la lib 2DDrawing, j'ai un petit souci avec le code suivant.
Je cherche à créer une image avec un fond transparent et du texte puis l'afficher à l'aide d'un ImageGadget dans un ScrollAregaGadget.
Le résultat graphique serait l'équivalent d'un TextGadget.
J'ai beau jouer avec toutes les options liées au mode de dessin des instructions CreateImage, DrawingMode et DrawText, je n'arrive pas au résultat escompté.
Quelqu'un saurait-il comment faire ?
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 400, 400, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScrollAreaGadget(0,4,4,396,396,300,300)
TextGadget(1,4,4,80,20,"TextGadget")
;
Texte.s="Image 1"
StartDrawing(WindowOutput(0))
Largeur.u=TextWidth(Texte):Hauteur.u=TextHeight(Texte)
StopDrawing()
If CreateImage(0,Largeur,Hauteur) And StartDrawing(ImageOutput(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(0,0,Texte,255)
ImageGadget(2,4,30,Largeur,Hauteur,ImageID(0))
StopDrawing()
EndIf
;
Texte.s="Image 2"
StartDrawing(WindowOutput(0))
Largeur.u=TextWidth(Texte):Hauteur.u=TextHeight(Texte)
StopDrawing()
If CreateImage(1,Largeur,Hauteur,32,#PB_Image_Transparent) And StartDrawing(ImageOutput(1))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(0,0,Texte,255)
StopDrawing()
OpenGadgetList(0)
ImageGadget(3,4,60,Largeur,Hauteur,ImageID(1),#PB_Image_Border)
CloseGadgetList()
EndIf
;
Texte.s="Image 3"
StartDrawing(WindowOutput(0))
Largeur.u=TextWidth(Texte):Hauteur.u=TextHeight(Texte)
StopDrawing()
If CreateImage(2,Largeur,Hauteur) And StartDrawing(ImageOutput(2))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(0,0,Texte,255,RGBA(0,0,0,0))
StopDrawing()
OpenGadgetList(0)
ImageGadget(4,4,90,Largeur,Hauteur,ImageID(2))
CloseGadgetList()
EndIf
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf