imagejpeg

(PHP 4, PHP 5, PHP 7, PHP 8)

imagejpegExportar la imagen al navegador o a un fichero

Descripción

imagejpeg(GdImage $image, resource|string|null $file = null, int $quality = -1): bool

imagejpeg() crea un fichero JPEG a partir de la imagen proporcionada.

Parámetros

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).

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Precaución

Sin embargo, si libgd falla al producir la imagen, esta función devuelve true.

Errores/Excepciones

Se genera una ValueError si quality es inválido.

Historial de cambios

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.

Ejemplos

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:

Visualización del ejemplo: imagejpeg()

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);

?>

Notas

Nota:

Si se desea generar imágenes JPEG progresivas, es necesario activar el entrelazado utilizando la función imageinterlace().

Ver también

  • imagepng() - Envía una imagen PNG a un navegador o a un fichero
  • imagegif() - Exportar la imagen al navegador o a un fichero
  • imagewbmp() - Exportar la imagen al navegador o a un fichero
  • imageinterlace() - Activa o desactiva el entrelazado
  • imagetypes() - Devuelve los tipos de imágenes soportados por la versión actual de PHP