DrawingBuffer()

Syntaxe

*Resultat = DrawingBuffer()
Description
Renvoie le tampon (buffer) de dessin, ce qui permet la manipulation des pixels directement en mémoire.

Arguments

Aucun.

Valeur de retour

Renvoie le pointeur de données des pixels si l'accès direct aux pixels est possible ou zéro sinon.

Remarques

Cette fonction doit être appelée à nouveau si d'autres commandes de dessin de cette bibliothèque ont été utilisées depuis la dernière manipulation de pixels.

Une fois que StopDrawing() a été appelé, le tampon est invalidé et ne peut plus être utilisé.

Cette commande est destinée aux programmeurs chevronnés. Pour obtenir plus d'informations sur le buffer, les commandes suivantes peuvent être utilisées : DrawingBufferPixelFormat() et DrawingBufferPitch().

Cela peut correspondre directement à la mémoire vidéo si la sortie est ScreenOutput() ou SpriteOutput() et permet des manipulations très rapide des pixels.
Avec ImageOutput() cette commande permet l'accès direct aux pixels de l'image.

Exemple

DirectScreenDrawing.pb

Exemple

  If OpenWindow(0, 0, 0, 200, 200, "Buffer Image", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateImage(0, 200, 200, 32) And StartDrawing(ImageOutput(0))
      DrawText(60,80,"PUREBASIC", RGB(255, 255, 0))
      Debug "Adresse mémoire : " + Str(DrawingBuffer())
      Debug "Longueur réelle d'une ligne en octet : " + Str(DrawingBufferPitch())    
      Debug "Format de pixel : " + Str(DrawingBufferPixelFormat())
      StopDrawing() 
      ImageGadget(0, 0, 0, 200, 200, ImageID(0))
    EndIf
    
    Repeat
      Event = WaitWindowEvent()      
    Until Event = #PB_Event_CloseWindow
  EndIf

Voir aussi

DrawingBufferPixelFormat(), DrawingBufferPitch()

OS Supportés

Tous

<- DrawText() - 2DDrawing Index - DrawingBufferPitch() ->