(PHP 4, PHP 5, PHP 7, PHP 8)
imagejpeg — Exportar la imagen al navegador o a un fichero
imagejpeg() crea un fichero JPEG a partir de la imagen proporcionada.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
file
La ruta o un recurso de flujo de apertura (el cual se cierra automáticamente después de que devuelva esta función) donde guardar el fichero. Si no se establece, o su valor es null
, se mostrará directamente en la salida el flujo de imagen sin tratar.
quality
quality
es opcional, y toma valores en
el intervalo 0 (peor calidad, fichero pequeño) a 100 (mejor calidad, fichero grande).
Por omisión (-1
), se utiliza el valor de calidad IJG por defecto (aproximadamente 75).
Devuelve true
en caso de éxito o false
en caso de error.
Sin embargo, si libgd falla al producir la imagen, esta función devuelve true
.
Se genera una ValueError si quality
es inválido.
Versión | Descripción |
---|---|
8.4.0 |
Ahora se genera una ValueError si quality es inválido.
|
8.0.0 |
image expects a GdImage
instance now; previously, a valid gd resource was expected.
|
Ejemplo #1 Mostrar una imagen JPEG hacia el navegador
<?php
// Creación de una imagen vacía y adición de texto
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Define el contenido del encabezado - en este caso, image/jpeg
header('Content-Type: image/jpeg');
// Mostrar la imagen
imagejpeg($im);
?>
El resultado del ejemplo sería algo similar a:
Ejemplo #2 Guardar una imagen JPEG en un fichero
<?php
// Creación de una imagen vacía y adición de texto
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'Un texto simple', $text_color);
// Guardar la imagen con el nombre 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');
?>
Ejemplo #3 Mostrar la imagen con una calidad del 75% hacia el navegador
<?php
// Creación de una imagen vacía y adición de texto
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'Un texto simple', $text_color);
// Define el contenido del encabezado - en este caso, image/jpeg
header('Content-Type: image/jpeg');
// No se proporciona el nombre del fichero (se utiliza el valor NULL),
// luego, se define la calidad a 75%
imagejpeg($im, NULL, 75);
?>
Nota:
Si se desea generar imágenes JPEG progresivas, es necesario activar el entrelazado utilizando la función imageinterlace().