Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!


Referenz - IMAGECREATE

Referenz-Navigation

 

Syntax: IMAGECREATE(Breite, Höhe[, [Farbe] [, Farbtiefe]])
Typ: Funktion
Kategorie: Gfx

IMAGECREATE reserviert einen Speicherbereich als Datenpuffer für ein Bild.

Diese Funktion reserviert einen Speicherbereich, in dem Pixeldaten gepuffert werden können. Sobald dieser Puffer erstellt wurde, können alle Drawing Primitives (einfachste Grafikfunktionen) darauf zugreifen. Bei seiner Erstellung wird der Speicherbereich mit der angegebenen Farbe oder der Transparenzfarbe des jeweiligen Modus ausgefüllt (für indizierte Grafikmodi ist die Transparenzfarbe 0, für alle anderen ist es &HFF00FF; siehe auch BefehlsreferenzeintragSCREENCONTROL).

IMAGECREATE gibt, ähnlich wie BefehlsreferenzeintragALLOCATE, einen Pointer auf den reservierten Speicherbereich zurück. Wenn IMAGECREATE verwendet werden soll, um Grafiken zwischen Bildschirm und Puffer auszutauschen, dann funktioniert dies nur, wenn bereits ein Grafikmodus mit BefehlsreferenzeintragSCREEN (Anweisung) oder BefehlsreferenzeintragSCREENRES initiiert wurde. Falls IMAGECREATE fehlschlägt, ist das Ergebnis 0.
Bildpuffer, die Sie mit IMAGECREATE erstellt haben, sollten unbedingt mit BefehlsreferenzeintragIMAGEDESTROY entfernt werden, sobald sie nicht mehr benötigt werden, um den Speicherplatz freizugeben.

Zum Speicheraufbau eines Bildpuffers siehe BefehlsreferenzeintragInterne Pixelformate: Bildpuffer.

Beispiel:

Dim Img As Byte Ptr
Dim Cut As Byte Ptr

Screenres 400, 300, 32

Img = Imagecreate(64, 64, RGBA(64, 160, 0, 255))
Cut = Imagecreate(32, 32)

If Img = 0 OR Cut = 0 Then
   Print "Speicher konnte nicht reserviert werden!"
   If Img Then ImageDestroy Img
   IF Cut Then ImageDestroy Cut
End If

Circle Img, (32, 32), 28, RGBA(255, 0, 0, 128), , , , F
Get Img, (0, 0)-(31, 31), Cut

Put Img, (32, 32), Cut, Pset
Put (160, 120), Img, Pset
Put (180, 140), Img, Alpha

Imagedestroy Img
Imagedestroy Cut
Sleep

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:

Siehe auch:
BefehlsreferenzeintragIMAGEDESTROY, BefehlsreferenzeintragIMAGEINFO, BefehlsreferenzeintragIMAGECONVERTROW, BefehlsreferenzeintragGET (Grafik), BefehlsreferenzeintragPUT (Grafik), BefehlsreferenzeintragPSET (Grafik), BefehlsreferenzeintragSCREENRES, BefehlsreferenzeintragInterne Pixelformate, BefehlsreferenzeintragGrafik


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 29.07.2007 von Redakteurnemored angelegt.
  • Die aktuellste Version wurde am 05.02.2012 von RedakteurMOD gespeichert.
  Versionen Versionen