[5.40] Vecteurs Combiné FillPath() et DashPath()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[5.40] Vecteurs Combiné FillPath() et DashPath()

Message par falsam »

J'ai voulu faire un texte que je rempli d'une couleur tout en dessinant le contour en pointillé d'une autre couleur. Je pensais que c'était faisable comme en JavasScript associé au canvas mais non.

J'ai du redessiner le texte pour afficher le contour.

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 800, 600, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 800, 600)
    
    LoadFont(0, "Impact", 10) 
    
    If StartVectorDrawing(CanvasVectorOutput(0))
            
      ;Arc de cercle             
      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.
      
      VectorSourceColor(RGBA(255, 0, 0, 255)) ;Couleur de remplissage
      
      FillPath() ;Remplissage de l'arc de cercle
      
      ;Texte
      MovePathCursor(400, 100)
      VectorFont(FontID(0), 150) 
      AddPathText("Demo")
      VectorSourceColor(RGBA(255, 215, 0, 255))
      FillPath()
      
      ;Je n'  ai pas l'impression qu'on puisse combiner FillPath() & DaskPath(). Idem avec StrokePathe()
      ;Je redessine le texte et j'applique 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.
      StopVectorDrawing()
    EndIf
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf
Dernière modification par falsam le mer. 02/sept./2015 23:11, modifié 2 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: [5.40] Combiné FillPath() et DashPath()

Message par Mesa »

Dans l'aide on peut lire que les chemins sont remis à zéro une fois utilisés:
Après avoir rempli le contour ou l'intérieur d'une figure, le chemin est remis à zéro et un nouveau chemin peut être construit pour l'opération de dessin suivante.
M.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Combiné FillPath() et DashPath()

Message par falsam »

Avoir une option pour le préserver serait pas mal afin d'appliquer plusieurs opérations :wink:
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: [5.40] Combiné FillPath() et DashPath()

Message par Mesa »

Oui, je suis d'accord, il manque un SavePath ou un PushPath, peut-être aussi un DrawVectorAlphaImage.

Si tu veux, tu peux en parler avec fr34k, le créateur de cette bibliothèque, sur le forum anglais.

M.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Combiné FillPath() et DashPath()

Message par falsam »

Mesa a écrit :Si tu veux, tu peux en parler avec fr34k, le créateur de cette bibliothèque, sur le forum anglais.
Je veux bien que tu fasses la démarche d'autant plus que tu es intégré dans l'équipe Fantaisie Software et que je pense que ton anglais est meilleur que le mien.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Demivec
Messages : 91
Inscription : sam. 18/sept./2010 18:13

Re: [5.40] Combiné FillPath() et DashPath()

Message par Demivec »

falsam a écrit :Avoir une option pour le préserver serait pas mal afin d'appliquer plusieurs opérations :wink:
FillPath() a écrit :#PB_Path_Preserve : Ne pas réinitialiser le chemin après cette fonction

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 800, 600, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 800, 600)
    
    LoadFont(0, "Impact", 10) 
    
    If StartVectorDrawing(CanvasVectorOutput(0))
            
      ;Arc de cercle             
      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.
      
      VectorSourceColor(RGBA(255, 0, 0, 255)) ;Couleur de remplissage
      
      FillPath() ;Remplissage de l'arc de cercle
      
      ;Texte
      MovePathCursor(400, 100)
      VectorFont(FontID(0), 150) 
      AddPathText("Demo")
      VectorSourceColor(RGBA(255, 215, 0, 255))
      FillPath(#PB_Path_Preserve) ; <===---
      
      ;Je n'  ai pas l'impression qu'on puisse combiner FillPath() & DaskPath(). Idem avec StrokePathe()
      ;Je redessine le texte et j'applique 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.
      StopVectorDrawing()
    EndIf
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: [5.40] Combiné FillPath() et DashPath()

Message par Mesa »

:lol: :lol: :lol:

Bien joué Demivec :!:

Je m'disais aussi, c'est bizarre, fr34k avait pourtant fait le nécessaire :roll:

M.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [5.40] Combiné FillPath() et DashPath()

Message par blendman »

Pouvoir choisir aussi l'interpolation (pour le scale, rotation, etc...) serait aussi vraiment pas mal. Car là, c'est une interpolation pré-définie, mais pour un zoom c'est pas terrible car ça rame un peu, et l'image est floutée au lieu d'être pixelisée si besoin.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [5.40] Combiné FillPath() et DashPath()

Message par falsam »

Merci beaucoup Demivec pour cette réponse rapide. J’apprécie.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre