Referenz - BSAVE
Syntax: BSAVE (Dateiname, Adresse[,Größe][, pal][, BitsProPixel])
Typ: Funktion
Kategorie: Dateien
BSAVE speichert einen Block binärer Daten in eine Datei. Der Befehl kann auch benutzt werden, um Daten von der aktuellen Bildschirmseite in eine Datei zu speichern, wenn 0 als Adresse angegeben wird.
- 'Dateiname ist der Name der Datei, in welche die Daten geschrieben werden.
- 'Adresse' ist ein ANY PTR auf die Adresse, von der die zu schreibenden Daten stammen. Wenn 0 (Null) angegeben wird, kopiert BSAVE die Daten von der aktuellen Bildschirmseite. Üblicherweise ist dieser Parameter ein Pointer auf einen mit IMAGECREATE oder ALLOCATE erstellten Speicherbereich oder ein Pointer auf ein Array.
- 'Größe' ist die Größe des Datenblocks in Bytes, der gespeichert werden soll. Wird dieser Parameter ausgelassen, speichert BSAVE das gesamte Array. Ist 'Adresse' ein Pointer, so muss 'Größe' angegeben werden, da sonst gar nichts gespeichert wird.
- 'pal' die Adresse auf einen Speicherbereich, der die Werte der Farbpalette enthält, oder 0 (Null), wenn die Standard-Farbpalette gespeichert werden soll.
- 'BitsProPixel' gibt an, in welcher Bittiefe das Bild gespeichert werden soll.
- Der Rückgabewert ist eine der FreeBASIC Fehlernummern. Mögliche Fehlermeldungen sind
- 2 (File not found): Die Datei konnte nicht erstellt werden, oder die Dateigröße ist kleiner 0, oder die Dateigröße ist 0 und 'Adresse' ist nicht 0.
- 3 (File I/O error): Die Datei konnte nicht beschrieben werden.
Achtung: Auch wenn BSAVE zum Speichern eines Binärdatenblocks verwendet wird, muss die gfxlib eingebunden sein, z. B. durch die Verwendung von SCREENRES.
Wenn Sie Daten vom Bildschirm speichern, werden diese im selben Format gespeichert, das auch der aktuelle Bildschirmmodus verwendet; siehe Interne Pixelformate für Details. Beachten Sie besonders, dass ein Pixel möglicherweise mehr als ein Byte benötigt. Dementsprechend müssen Sie den Parameter 'Größe' anpassen.
BSAVE wird oft dazu verwendet, um Bildschirmausschnitte zu speichern, die zuvor mit GET (Grafik) eingelesen wurden. Diese können dann später mit PUT (Grafik) wieder ausgegeben werden.
Mit BSAVE können Pixeldaten auch im BMP-Format gespeichert werden; geben Sie dazu einfach einen Dateinamen mit Erweiterung '.bmp' an. In diesem Fall kann der Parameter 'Größe' ausgelassen werden, da die Größe direkt aus dem Bildpuffer entnommen wird.
Die Standard-Bittiefe für BMPs ist 8bit für 8bit-Grafiken, 24bit für 16bit-Grafiken und 32bit für 32bit-Grafiken. Mit dem Parameter 'BitsProPixel' kann dieses Verhalten angepasst werden.
Beispiel:
' Grafikmodus initialisieren
SCREENRES 320, 200, 32
' Schwarzer Text auf weißem Grund
COLOR RGB(0, 0, 0), RGB(255, 255, 255)
CLS
LOCATE 13, 15: PRINT "Hello world!"
' Gesamten Bildschirm als Bitmap speichern
BSAVE "hello.bmp", 0
SLEEP
Unterschiede zu QB:
- Daten, die mit der FreeBASIC-Version von BSAVE gespeichert wurden, sind nicht kompatibel zu den Daten, die mit QBs BSAVE gespeichert wurden.
- Die binären Daten können in FreeBASIC auch im Bitmap-Format gespeichert werden.
- BSAVE kann in FreeBASIC als Funktion eingesetzt werden.
- Der Parameter 'BitsProPixel' ist neu in FreeBASIC.
Unterschiede zu früheren Versionen von FreeBASIC:
- Der Parameter 'BitsProPixel' existiert seit FreeBASIC v0.90.
- Die Adresse der Farbpalette kann seit FreeBASIC v0.20 angegeben werden.
- Die Möglichkeit, im BMP-Format zu speichern, existiert seit v0.14.
- Die Möglichkeit, Bitmaps zu speichern, existiert seit FreeBASIC v0.12.
Siehe auch:
BLOAD, GET (Grafik), PUT (Grafik), VARPTR, Dateien (Files)
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|