ClipPath()

Syntaxe

ClipPath([Options])
Description
Clip du chemin de dessin vectoriel en cours.

Arguments

Options (optionnel) Peut être l'une des valeurs suivantes:
  #PB_Path_Default : Pas de comportement spécial (Par défaut)
  #PB_Path_Preserve: Ne pas réinitialiser le chemin après cette fonction

Valeur de retour

Aucune.

Remarques

Les futures opérations de dessin ne toucheront que les zones clippées dans le chemin courant. La zone sera combinée avec tout clipping qui existait auparavant.

Par défaut, le chemin est réinitialisé après l'appel à cette fonction. Ceci peut être évité avec les options appropriées.

Il n'y a pas de fonction "UnclipPath()". La zone de découpage de la sortie de dessin peut être réduite en ajoutant plus de clipping, mais ne peut pas être agrandie. Cependant, la zone découpée peut être sauvegardée et restaurée en utilisant les fonctions SaveVectorState() et RestoreVectorState() respectivement. Ainsi, pour appliquer une découpe temporaire, il suffit d'enregistrer l'état du dessin puis de le restaurer plus tard pour revenir à la découpe originale.

Exemple

  If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)
    LoadFont(0, "Times New Roman", 20, #PB_Font_Bold)

    If StartVectorDrawing(CanvasVectorOutput(0))
    
      ; Mise en place d'un chemin de découpe complexe avec des ellipses imbriquées 
      ;(chaque seconde ellipse sera tronquée)
   
      For i = 10 To 150 Step 5
        AddPathEllipse(200, 100, 2*i, i)
      Next i
      ClipPath()
    
      ; Dessin d'un texte avec cet écrêtage
      VectorFont(FontID(0), 150)      
      VectorSourceColor(RGBA(255, 0, 0, 255))
      
      MovePathCursor(50, 25)
      DrawVectorText("Text")

      StopVectorDrawing()
    EndIf
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf

Voir aussi

OS Supportés

Tous

<- BeginVectorLayer() - VectorDrawing Index - ClosePath() ->