(PHP 4, PHP 5, PHP 7, PHP 8)
imagejpeg — Gibt das Bild im Browser oder einer Datei aus.
imagejpeg() erzeugt eine JPEG-Datei aus dem
übergebenen image
.
image
Ein GdImage-Objekt, das von einer der Funktionen zur Bilderzeugung, z. B. imagecreatetruecolor(), zurückgegeben wurde.
file
Der Pfad oder eine offene Stream-Ressource (die nach der Beendigung dieser Funktion automatisch geschlossen wird), in dem bzw. der die Datei gespeichert werden soll. Falls nicht gesetzt oder null
, wird der rohe Bilddatenstrom direkt ausgegeben.
quality
quality
ist optional und es kann ein Wert zwischen
0 (schlechteste Qualität, kleine Datei) und 100 (beste Qualität, größte Datei)
übergeben werden. Der Standardwert (-1
) verwendet den standardmäßigen
IJG-Qualitätswert (ungefähr 75).
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Wenn libgd das Bild nicht ausgeben kann, gibt diese Funktion true
zurück.
Wenn quality
ungültig ist, wird ein
ValueError geworfen.
Version | Beschreibung |
---|---|
8.4.0 |
Wirft nun einen ValueError, wenn
quality ungültig ist.
|
8.0.0 |
image erwartet nun eine
GdImage-Instanz; vorher wurde eine gültige
gd -Ressource erwartet.
|
Beispiel #1 Ein Bild an den Browser ausgeben
<?php
// Erzeut ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Die Content-Type-Kopfzeile senden, in diesem Fall image/jpeg
header('Content-Type: image/jpeg');
// Das Bild ausgeben
imagejpeg($im);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Beispiel #2 Ein Bild in eine Datei speichern
<?php
// Erzeugt ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Das Bild als 'simpletext.jpg' speichern
imagejpeg($im, 'simpletext.jpg');
?>
Beispiel #3 Das Bild mit 75% Qualität an den Browser ausgeben
<?php
// Erzeugt ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Die Content-Type-Kopfzeile senden, in diesem Fall image/jpeg
header('Content-Type: image/jpeg');
// Der Dateiname wird übergangen, indem NULL verwendet wird
// dann wird die Qualität auf 75% gesetzt
imagejpeg($im, NULL, 75);
?>
Hinweis:
Falls Progessive JPEGs ausgegeben werden sollen, so muss Interlacing mittels imageinterlace() eingeschaltet werden.