FillArea()

Syntaxe

FillArea(x, y, CouleurBord [, Couleur])
Description
Remplit une zone arbitraire en commençant à la position x, y jusqu'à rencontrer la couleur CouleurBord. Cela permet de remplir tout type de forme. Si le paramètre Couleur n'est pas précisé, la couleur par défaut définie par FrontColor() est utilisée. Les fonctions RGB() ou RGBA() peuvent être utilisées pour définir facilement une couleur. La surface de dessin est fixée par la fonction StartDrawing().

Si le paramètre 'CouleurBord' est -1, alors la zone définie par la couleur trouvée aux coordonnées (x,y) sera remplie. Sur les images en 32 bit, le canal alpha est ignoré pour savoir si un pixel fait office de bordure ou non.

Note: Cette commande ne fonctionne pas avec PrinterOutput().

Exemple

  If OpenWindow(0, 0, 0, 300, 300, "FillArea", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateImage(0, 300, 300) And StartDrawing(ImageOutput(0))
      Box(0, 0, 300, 300, RGB(255, 255, 255))

      Circle(150, 150, 125 ,$00FF00)
      Circle(150, 150, 120 ,$FF0000)
      LineXY(30, 150, 270, 150, $FFFFFF)
      FillArea(150, 155, -1, $0000FF) ; Replacez -1 par $00FF00, et comparez le resultat

      StopDrawing() 
      ImageGadget(0, 0, 0, 300, 300, ImageID(0))
    EndIf
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf

OS Supportés

Tous

<- EllipticalGradient() - 2DDrawing Index - FrontColor() ->