Start · Sprachen · PHP · Referenz · png2wbmp

png2wbmp

Funktion

Konvertiert eine PNG-Bilddatei in eine WBMP-Datei (Wireless Bitmap) mit optionaler Skalierung und Schwellenwertsteuerung.

seit PHP 4.0.5 Kategorie: image

Signatur

png2wbmp(string $pngname, string $wbmpname, int $dest_height, int $dest_width, int $threshold): bool

Beschreibung

png2wbmp() liest eine PNG-Quelldatei ein und schreibt das Ergebnis als WBMP-Datei (Wireless Bitmap), die früher vor allem für Mobiltelefone und WAP-Geräte verwendet wurde. Die Funktion konvertiert das Bild dabei in ein reines Schwarz-Weiß-Format (1 Bit pro Pixel), da WBMP kein Graustufen- oder Farbmodell unterstützt.

Über die Parameter dest_height und dest_width lässt sich die Ausgabegröße des Bildes festlegen; wird 0 übergeben, behält das Bild seine Originaldimension. Der Parameter threshold steuert, ab welchem Helligkeitswert ein Pixel als schwarz oder weiß interpretiert wird (Wertebereich typischerweise 0–8).

Die Funktion ist hauptsächlich historisch relevant und wird in modernen Projekten kaum noch benötigt, da WBMP als Format praktisch obsolet ist. Für zeitgemäße Bildkonvertierungen empfiehlt sich der Einsatz von imagecreatefromwbmp() in Kombination mit den GD-Funktionen oder Bibliotheken wie Imagick.

Hinweis: png2wbmp() wurde in PHP 7.2.0 als veraltet markiert und in PHP 8.0.0 vollständig entfernt.

Parameter

Name Typ Default Beschreibung
$pngname Pflicht string Pfad zur Quell-PNG-Datei, die konvertiert werden soll.
$wbmpname Pflicht string Pfad zur Ziel-WBMP-Datei, die erzeugt werden soll.
$dest_height Pflicht int Höhe des Ausgabebildes in Pixeln. Der Wert 0 übernimmt die Originalhöhe der PNG-Datei.
$dest_width Pflicht int Breite des Ausgabebildes in Pixeln. Der Wert 0 übernimmt die Originalbreite der PNG-Datei.
$threshold Pflicht int Schwellenwert für die Schwarz-Weiß-Konvertierung. Pixel mit einem Helligkeitswert unterhalb dieses Wertes werden schwarz, darüber weiß dargestellt. Typischer Wertebereich: 0–8.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. wenn die Quelldatei nicht gefunden oder nicht lesbar ist).

Beispiele

Einfache PNG-zu-WBMP-Konvertierung mit Originalgröße

<?php
// Konvertiert 'bild.png' in 'bild.wbmp', behält die Originalgröße,
// Schwellenwert 4 (mittlere Helligkeit als Trennwert)
if (png2wbmp('bild.png', 'bild.wbmp', 0, 0, 4)) {
    echo 'Konvertierung erfolgreich.';
} else {
    echo 'Fehler bei der Konvertierung.';
}
Konvertierung erfolgreich.

PNG in WBMP mit geänderter Ausgabegröße

<?php
// Konvertiert 'logo.png' in ein 100x50 Pixel großes WBMP-Bild
// mit einem Schwellenwert von 5
$erfolg = png2wbmp('logo.png', 'logo_klein.wbmp', 50, 100, 5);
if ($erfolg) {
    echo 'WBMP-Datei wurde erzeugt: logo_klein.wbmp';
} else {
    echo 'Fehler: Konvertierung fehlgeschlagen.';
}
WBMP-Datei wurde erzeugt: logo_klein.wbmp

// Wichtig · Fallstricke

Deprecation: png2wbmp() wurde ab PHP 7.2.0 als veraltet (deprecated) markiert und in PHP 8.0.0 vollständig entfernt. Der Einsatz dieser Funktion in modernem Code ist daher nicht mehr möglich und sollte auch in älteren Projekten vermieden werden.

Falls WBMP-Dateien tatsächlich erzeugt werden müssen, kann alternativ imagecreatefromstring() / imagewbmp() aus der GD-Bibliothek verwendet werden, was mehr Kontrolle über den gesamten Konvertierungsprozess bietet.

Das WBMP-Format unterstützt ausschließlich 1-Bit-Pixel (rein Schwarz/Weiß). Farb- oder Graustufeninformationen gehen bei der Konvertierung unwiderruflich verloren.