imagejpeg

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

imagejpegEnviar la imagen al navegador o a un archivo

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 objeto GdImage, retornado por una de las funciones de creación de imágenes, como imagecreatetruecolor().

file

La ruta o un recurso de flujo abierto (que se cierra automáticamente después de que esta función retorne) donde guardar el archivo. Si no se define o es null, el flujo de imagen sin procesar se enviará directamente.

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

Esta función retorna true en caso de éxito o false si ocurre un error.

Precaución

Sin embargo, si libgd no logra 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 ahora espera una instancia de GdImage; anteriormente, se esperaba un resource gd válido.

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

?>

Resultado del ejemplo anterior es 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() - Enviar la imagen al navegador o a un archivo
  • imagewbmp() - Enviar la imagen al navegador o a un archivo
  • imageinterlace() - Activa o desactiva el entrelazado
  • imagetypes() - Devuelve los tipos de imágenes soportados por la versión actual de PHP