Start · Sprachen · PHP · Referenz · image2wbmp

image2wbmp

Funktion

Gibt ein GD-Bild im WBMP-Format (Wireless Bitmap) an den Browser oder in eine Datei aus.

seit PHP 4.0.1 Kategorie: image

Signatur

image2wbmp(GdImage $image, ?string $filename = null, int $foreground = -1): bool

Beschreibung

image2wbmp() gibt ein zuvor erzeugtes GD-Bild im WBMP-Format aus. WBMP (Wireless Bitmap) ist ein monochromes Bitmap-Format, das speziell für mobile Geräte und WAP-Anwendungen entwickelt wurde. Es unterstützt ausschließlich Schwarzweiß-Bilder (1 Bit pro Pixel).

Wird kein Dateiname angegeben, wird das Bild direkt an den Browser gesendet. In diesem Fall muss vor der Ausgabe der korrekte HTTP-Header Content-Type: image/vnd.wap.wbmp mit header() gesetzt werden, da PHP dies nicht automatisch übernimmt.

Über den Parameter foreground kann festgelegt werden, welcher Farbindex als Vordergrundfarbe (Schwarz) interpretiert wird. Alle anderen Farben werden als Hintergrundfarbe (Weiß) behandelt. Wird kein Wert angegeben, wird standardmäßig Schwarz als Vordergrundfarbe verwendet.

Hinweis: Die Funktion ist seit PHP 8.1.0 als veraltet (deprecated) markiert und wurde in PHP 9.0 entfernt. Für neue Projekte sollte stattdessen imagewbmp() verwendet werden, das identische Funktionalität bietet und aktiv gepflegt wird.

Parameter

Name Typ Default Beschreibung
$image Pflicht GdImage Das GD-Bildobjekt, das zuvor mit einer Funktion wie imagecreate() oder imagecreatefromjpeg() erzeugt wurde.
$filename ?string null Optionaler Pfad zur Ausgabedatei. Wird null oder kein Wert übergeben, erfolgt die Ausgabe direkt an den Browser.
$foreground int -1 Farbindex, der als Vordergrundfarbe (Schwarz) verwendet werden soll. Wird -1 übergeben, wird automatisch Schwarz gewählt.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler, etwa wenn das Bild nicht geschrieben werden konnte.

Beispiele

WBMP-Bild an den Browser senden

<?php
// Bild erstellen
$image = imagecreate(100, 100);

// Hintergrundfarbe (Weiß)
$white = imagecolorallocate($image, 255, 255, 255);

// Vordergrundfarbe (Schwarz)
$black = imagecolorallocate($image, 0, 0, 0);

// Einfachen Text zeichnen
imagestring($image, 5, 10, 40, 'WBMP', $black);

// Korrekten Content-Type-Header senden
header('Content-Type: image/vnd.wap.wbmp');

// Bild als WBMP ausgeben (veraltet, besser: imagewbmp())
image2wbmp($image);

// Speicher freigeben
imagedestroy($image);

WBMP-Bild in Datei speichern

<?php
// Bild erstellen
$image = imagecreate(200, 50);

// Farben definieren
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

// Text ins Bild schreiben
imagestring($image, 3, 5, 15, 'Hallo WBMP', $black);

// Bild in Datei speichern (veraltet, besser: imagewbmp())
$result = image2wbmp($image, '/tmp/ausgabe.wbmp', $black);

if ($result) {
    echo 'WBMP-Datei erfolgreich gespeichert.';
} else {
    echo 'Fehler beim Speichern der WBMP-Datei.';
}

imagedestroy($image);
WBMP-Datei erfolgreich gespeichert.

// Wichtig · Fallstricke

Deprecation: image2wbmp() ist seit PHP 8.1.0 als veraltet markiert und erzeugt eine E_DEPRECATED-Warnung. Die Funktion wurde in PHP 9.0 vollständig entfernt. Verwende stattdessen imagewbmp(), das dieselbe Funktionalität bietet.

Farbbeschränkung: Da WBMP nur Schwarzweiß unterstützt, wird jedes Farbbild automatisch in ein monochromes Bild konvertiert. Graustufen oder Farben werden nicht korrekt dargestellt. Für komplexe Grafiken empfehlen sich PNG oder JPEG.

Browserausgabe: Beim Senden an den Browser muss der Content-Type-Header manuell auf image/vnd.wap.wbmp gesetzt werden, bevor jegliche Ausgabe erfolgt. Andernfalls kann der Browser das Bild nicht korrekt interpretieren.