CatchImage()

Syntax

Ergebnis = CatchImage(#Image, Speicheradresse [, Größe])
Beschreibung
Lädt das angegebene Bild von der angegebenen Speicheradresse.

Parameter

#Image Die Nummer, mit welcher das geladene Bild identifiziert wird. #PB_Any kann angegeben werden, um diese Nummer automatisch zu generieren.
*Speicheradresse Die Speicheradresse, von der das Bild geladen werden soll.
Größe (optional) Die Größe des Bildes in Bytes. Die Größe ist optional, da der "Loader" aus dem Bild bestimmen kann, wann er mit einlesen aufhören muss. Es ist jedoch ratsam, eine Größe beim Laden von unbekannten Bildern anzugeben, da der "Loader" dann auch beschädigte Bilder korrekt verarbeiten kann (ohne Angabe der Bildgröße kann ein korruptes Bild zum Absturz des Programms führen).

Rückgabewert

Gibt einen Wert ungleich Null zurück, wenn das Bild erfolgreich geladen wurde, und Null wenn das Bild nicht geladen werden konnte. Wenn #PB_Any als #Image Parameter angegeben wurde, dann wird bei Erfolg die automatisch generierte Nummer zurückgegeben.

Anmerkungen

Das Limit für die Bildgröße, welche verarbeitet werden kann, hängt vom Betriebssystem und dem verfügbaren Speicher ab. Wenn genügend Speicher verfügbar ist, dann können von allen von PureBasic unterstützten Betriebssystemen Bilder bis mindestens 8192x8192 Pixel verarbeitet werden.

Wenn ein Bild geladen wird, dann wird es entweder in 24 Bit konvertiert (wenn die Bildtiefe kleiner oder gleich 24 Bit ist), oder in 32 Bit (wenn das Bild einen Alpha-Kanal hat). Ein geladenes Bild kann mit Hilfe des FreeImage() Befehls freigegeben werden.

Dieser Befehl ist nützlich in Verbindung mit dem 'IncludeBinary' PureBasic Schlüsselwort. Damit können Bilder mit in das Executable gepackt werden. Nichtsdestotrotz, benutzen Sie diese Option mit Bedacht, da hiermit mehr Speicher benötigt wird, als wenn die Bilddatei in einer externen Datei gespeichert wird (die Datei befindet sich im Speicher des Executable und auch geladen im physikalischen Speicher).

Das Bild kann im BMP-, Icon- (.ico, nur auf Windows) oder jedem anderen Format vorliegen, welches durch die ImagePlugin Bibliothek unterstützt wird. Die folgenden Befehle können verwendet werden, um automatisch weitere Bildformate zu aktivieren:

UseJPEGImageDecoder()
UseJPEG2000ImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseTGAImageDecoder()

Beispiel

  CatchImage(0, ?Logo)
  End

  DataSection
    Logo:
      IncludeBinary "Logo.bmp"
  EndDataSection
Hinweis: Das "?" ist ein Zeiger auf eine Sprungmarke. Weitere Informationen über Zeiger und Speicherzugriff finden Sie im zugehörigen Kapitel hier.

Siehe auch

CreateImage(), LoadImage(), FreeImage(), ImagePlugin Bibliothek

Unterstützte OS

Alle

<- AddImageFrame() - Image Inhaltsverzeichnis - CopyImage() ->