Objectif
- Dessiner une grille,
- Dessiner un arc de cercle,
- Dessiner du Texte,
- Dessiner une box avec un texte vertical,
- Dessiner un paragraphe de texte cadrer à droite.
Code : Tout sélectionner
EnableExplicit
Global text.s = "A quoi bon soulever des montagnes quand il est si simple de passer par-dessus ? (Boris Vian)"
Global ww = 800, wh = 600, n
Global GridSnap = 15 ;Espace entre les points
If OpenWindow(0, 0, 0, ww, wh, "VectorDrawing library", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 0, 0, ww, wh)
LoadFont(0, "Impact", 10)
LoadFont(1, "Times New Roman", 20)
; Debut du dessin
If StartVectorDrawing(CanvasVectorOutput(0))
; Dessin d'une grille
VectorSourceColor(RGBA(169, 169, 169, 255)) ; Couleur de remplissage
; Dessin des ligne horizontal
MovePathCursor(0, 0) ; Positionnement du curseur de traçage
For n = 0 To ww/GridSnap
AddPathLine(0, 600, #PB_Path_Relative)
MovePathCursor(GridSnap, -600, #PB_Path_Relative) ;Retour du curseur de traçage
Next
; Dessin des ligne Vertical
MovePathCursor(0, 0)
For n = 0 To wh/GridSnap
AddPathLine(800, 0, #PB_Path_Relative)
MovePathCursor(-800, GridSnap, #PB_Path_Relative)
Next
DotPath(2, GridSnap, #PB_Path_RoundEnd)
; Dessiner un arc de cercle
VectorSourceColor(RGBA(255, 0, 0, 255)) ;Couleur de remplissage
MovePathCursor(400, 300) ;Positionne le curseur de traçage au milieu du canvas
AddPathCircle(400, 300, 200, 0, 235, #PB_Path_Connected) ;Dessin de l'arc
ClosePath() ;Et on le ferme. Commenter pour voir la différence.
FillPath() ;;Remplissage de l'arc de cercle
; Dessiner du Texte
VectorSourceColor(RGBA(255, 215, 0, 255))
MovePathCursor(400, 100)
VectorFont(FontID(0), 150)
AddPathText("Demo")
FillPath()
; Dessiner le meme texte et appliquet le contour Dash
MovePathCursor(400, 100)
VectorFont(FontID(0), 150)
AddPathText("Demo")
VectorSourceColor(RGBA(0, 0, 0, 255))
DashPath(3, 6) ;Largeur et longueur du point.
; Dessiner une box avec un text vertical à l"interieur
AddPathBox(0, 0, 100, 600)
VectorSourceColor(RGBA(255, 211, 211, 255))
FillPath()
; Dessin du texte dans la box avec un angle de 90°
MovePathCursor(80, 50)
RotateCoordinates(0, 0, 90)
VectorFont(FontID(1), 50)
VectorSourceColor(RGBA(0, 0, 0, 255))
AddPathText("Make with PureBasic")
FillPath()
ResetCoordinates() ; Annule la rotation
; Dessiner un paragraphe cadrer à droite
VectorFont(FontID(1), 18)
VectorSourceColor(RGBA(0, 0, 0, 255))
MovePathCursor(480, 520)
DrawVectorParagraph(Text, 310, 250, #PB_VectorParagraph_Right)
FillPath()
; Fin du dessin
StopVectorDrawing()
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf