Start · Sprachen · PHP · Referenz · jpeg2wbmp

jpeg2wbmp

Funktion

Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei (Wireless Bitmap) mit optionaler Größenänderung.

seit PHP 4.0.5 Kategorie: image

Signatur

jpeg2wbmp(string $jpegname, string $wbmpname, int $dest_height, int $dest_width, int $threshold): bool

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

Typ
bool
Beschreibung
Gibt 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.';
}
Konvertierung erfolgreich!

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!';
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.