Signatur
Beschreibung
imagewbmp() gibt ein zuvor erstelltes oder geladenes GD-Bild im WBMP-Format aus. WBMP (Wireless Bitmap) ist ein einfaches, schwarz-weißes Bitmap-Format, das ursprünglich für den Einsatz auf mobilen Geräten und WAP-fähigen Handys entwickelt wurde. Jeder Pixel wird dabei entweder als Vordergrund (schwarz bzw. die angegebene Farbe) oder als Hintergrund (transparent/weiß) dargestellt.
Wenn der Parameter $file weggelassen wird oder null ist, wird das Bild direkt an den Browser gesendet. In diesem Fall sollte vorher der korrekte HTTP-Content-Type-Header image/vnd.wap.wbmp gesendet werden. Wenn $file angegeben wird, speichert die Funktion das Bild in der angegebenen Datei.
Der optionale Parameter $foreground_color legt die Vordergrundfarbe fest. Er erwartet einen mit imagecolorallocate() erzeugten Farbindex. Pixel, die dieser Farbe entsprechen, werden als Vordergrund (dunkel) interpretiert; alle anderen Pixel werden als Hintergrund (hell) behandelt.
Da WBMP nur zwei Farben unterstützt, eignet es sich ausschließlich für Schwarz-Weiß-Grafiken oder einfache Piktogramme. Für moderne Anwendungen sollten stattdessen imagepng(), imagejpeg() oder imagewebp() verwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $image Pflicht | GdImage | Das GD-Bildobjekt, das ausgegeben werden soll. Typischerweise das Rückgabeergebnis von Funktionen wie imagecreate(), imagecreatetruecolor() oder imagecreatefrom*(). |
|
| $file | string|null | null | Der Dateipfad, in den das Bild gespeichert werden soll. Wenn null oder weggelassen, wird das Bild direkt an den Ausgabe-Puffer gesendet. |
| $foreground_color | int | -1 | Ein mit imagecolorallocate() erzeugter Farbindex, der als Vordergrundfarbe verwendet wird. Standardmäßig wird Schwarz als Vordergrundfarbe genutzt (-1). |
Rückgabewert
true bei Erfolg zurück, false bei einem Fehler, etwa wenn die Datei nicht geschrieben werden konnte oder kein gültiges GD-Objekt übergeben wurde.Beispiele
WBMP-Bild direkt an den Browser senden
<?php
// Einfaches schwarz-weißes WBMP-Bild erzeugen
$image = imagecreate(100, 100);
// Hintergrund: Weiß
$white = imagecolorallocate($image, 255, 255, 255);
// Vordergrundfarbe: Schwarz
$black = imagecolorallocate($image, 0, 0, 0);
// Einen einfachen Rahmen zeichnen
imagerectangle($image, 10, 10, 90, 90, $black);
// Korrekten HTTP-Header senden
header('Content-Type: image/vnd.wap.wbmp');
// WBMP an den Browser ausgeben (Vordergrundfarbe: Schwarz)
imagewbmp($image, null, $black);
// Speicher freigeben
imagedestroy($image);
WBMP-Bild in eine Datei speichern
<?php
// Bild erstellen
$image = imagecreate(200, 50);
// Hintergrund: Weiß
$white = imagecolorallocate($image, 255, 255, 255);
// Vordergrundfarbe: Schwarz
$black = imagecolorallocate($image, 0, 0, 0);
// Text in das Bild schreiben
imagestring($image, 5, 10, 15, 'Hallo WBMP!', $black);
// Bild in Datei speichern
$result = imagewbmp($image, '/tmp/ausgabe.wbmp', $black);
if ($result) {
echo 'WBMP-Datei erfolgreich gespeichert.';
} else {
echo 'Fehler beim Speichern der WBMP-Datei.';
}
// Speicher freigeben
imagedestroy($image);
// Wichtig · Fallstricke
Veraltetes Format: WBMP war in der Frühzeit von WAP-Mobilgeräten verbreitet, ist jedoch heute weitgehend obsolet. Für moderne Webanwendungen sollten stattdessen imagepng(), imagejpeg() oder imagewebp() verwendet werden.
Nur Schwarz/Weiß: Da WBMP kein echtes Graustufen- oder Farbformat unterstützt, werden alle Farben außer der definierten Vordergrundfarbe als Hintergrund interpretiert. Bilder mit Verläufen oder vielen Farben können unbrauchbar aussehen.
Ausgabe an den Browser: Wenn das Bild direkt ausgegeben wird, darf vor dem Aufruf von imagewbmp() keine andere Ausgabe (auch kein Leerzeichen oder BOM) erfolgt sein, da sonst der Header nicht mehr gesetzt werden kann.