Signatur
Beschreibung
jpeg2wbmp() liest eine JPEG-Datei vom Dateisystem und konvertiert diese in das WBMP-Format (Wireless Bitmap), das hauptsächlich für ältere Mobilgeräte und WAP-Anwendungen verwendet wurde. Das Ergebnis wird in eine neue Datei geschrieben.
Über die Parameter dest_height und dest_width kann das Zielbild auf eine gewünschte Größe skaliert werden. Der Parameter threshold bestimmt den Schwellenwert für die Schwarz-Weiß-Konvertierung, da WBMP ein reines 1-Bit-Format ist (nur Schwarz und Weiß).
Achtung: Diese Funktion ist seit PHP 7.2.0 als deprecated (veraltet) markiert und wurde in PHP 8.0.0 vollständig entfernt. Für neue Projekte sollte stattdessen die GD-Bibliothek mit imagecreatefromjpeg() und imagewbmp() verwendet werden.
- Das WBMP-Format hat heute kaum noch praktische Relevanz.
- Die Funktion setzt eine korrekt installierte GD-Bibliothek voraus.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $jpegname Pflicht | string | Pfad zur Quelldatei im JPEG-Format, die konvertiert werden soll. | |
| $wbmpname Pflicht | string | Pfad zur Zieldatei, in die das konvertierte WBMP-Bild geschrieben wird. | |
| $dest_height Pflicht | int | Höhe des Zielbildes in Pixeln. Bei 0 wird die Originalhöhe beibehalten. |
|
| $dest_width Pflicht | int | Breite des Zielbildes in Pixeln. Bei 0 wird die Originalbreite beibehalten. |
|
| $threshold Pflicht | int | Schwellenwert für die Schwarz-Weiß-Konvertierung. Gültige Werte liegen zwischen 0 (alles schwarz) und 8 (alles weiß). Ein Wert von 4 entspricht einem mittleren Schwellenwert. |
Rückgabewert
true bei Erfolg zurück, false bei einem Fehler (z. B. wenn die Quelldatei nicht gefunden wird oder nicht lesbar ist).Beispiele
Einfache JPEG-zu-WBMP-Konvertierung
<?php
// Konvertierung einer JPEG-Datei in eine WBMP-Datei (nur PHP < 8.0)
$result = jpeg2wbmp(
'/var/www/images/foto.jpg',
'/var/www/images/foto.wbmp',
100, // Zielhöhe in Pixeln
100, // Zielbreite in Pixeln
4 // mittlerer Schwellenwert
);
if ($result) {
echo 'Konvertierung erfolgreich!';
} else {
echo 'Fehler bei der Konvertierung.';
}
Moderne Alternative mit GD (ab PHP 8.0 empfohlen)
<?php
// Empfohlene Alternative zu jpeg2wbmp() mit der GD-Bibliothek
$sourceFile = '/var/www/images/foto.jpg';
$destFile = '/var/www/images/foto.wbmp';
// JPEG-Bild laden
$image = imagecreatefromjpeg($sourceFile);
if ($image === false) {
die('Bild konnte nicht geladen werden.');
}
// Optional: Bild auf 100x100 Pixel skalieren
$resized = imagescale($image, 100, 100);
// Als WBMP speichern (Schwellenwert = 4 entspricht einem mittleren Wert)
imagewbmp($resized, $destFile, 4);
imagedestroy($image);
imagedestroy($resized);
echo 'Konvertierung mit GD erfolgreich!';
// Wichtig · Fallstricke
Deprecated seit PHP 7.2.0 und entfernt in PHP 8.0.0: jpeg2wbmp() sollte in keinem neuen Code mehr verwendet werden. Bestehender Code muss vor einer Migration auf PHP 8.0 auf die GD-Alternative umgestellt werden.
Das WBMP-Format (Wireless Bitmap) ist ein veraltetes 1-Bit-Schwarz-Weiß-Format, das für WAP-fähige Mobiltelefone der frühen 2000er-Jahre konzipiert wurde. Es hat in modernen Anwendungen keine Bedeutung mehr.
Da die Funktion direkt auf das Dateisystem zugreift, sollten Dateipfade stets validiert und niemals direkt aus Benutzereingaben übernommen werden, um Path-Traversal-Angriffe zu vermeiden.