imagejpeg

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

imagejpegВыводит изображение в браузер или записывет в файл

Описание

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

Функция imagejpeg() создаёт файл в формате JPEG из изображения image.

Список параметров

image

Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().

file

Путь или ресурс открытого потока, который функция автоматически закрывает после возврата значения, для сохранения файла. Функция выведет поток необработанного изображения напрямую, если параметр не установили или передали в аргументе значение null.

quality

Необязательный параметр, который принимает значения в диапазоне от 0 — низкое качество, файл меньшего размера, — до 100 для высокого качества при наибольшем размере файла. Значение по умолчанию равняется -1 и устанавливает качество IJG по умолчанию — около 75.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Предостережение

Однако, если libgd не может вывести изображения, эта функция вернёт true.

Ошибки

Функция выбрасывает ошибку ValueError, если значение параметра quality недопустимо.

Список изменений

Версия Описание
8.4.0 Функция теперь выбрасывает ошибку ValueError, если значение параметра quality недопустимо.
8.0.0 Параметр image теперь ожидает экземпляр класса GdImage; раньше параметр ждал корректный gd-ресурс (resource).

Примеры

Пример #1 Пример вывода JPEG-изображения в браузер

<?php

// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// Устанавливаем заголовок для типа содержимого image/jpeg
header('Content-Type: image/jpeg');

// Выводим изображение
imagejpeg($im);

?>

Вывод приведённого примера будет похож на:

Пример выведет изображение в формате JPEG

Пример #2 Пример сохранения JPEG-изображения в файл

<?php

// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// Сохраняем изображение в файл 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');

?>

Пример #3 Пример вывода JPEG-изображения в браузер с качеством 75 %

<?php

// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// Устанавливаем заголовок для типа содержимого image/jpeg
header('Content-Type: image/jpeg');

// Передаём в параметр file значение NULL, чтобы пропустить его, и устанавливаем качество 75 %
imagejpeg($im, NULL, 75);

?>

Примечания

Замечание:

Для вывода данных в формате Progressive JPEG потребуется путём вызова функции imageinterlace() включить для изображения интерлейсинг.

Смотрите также

  • imagepng() - Выводит PNG-изображение в браузер или файл
  • imagegif() - Выводит изображение в браузер или записывет в файл
  • imagewbmp() - Выводит изображение в браузер или записывет в файл
  • imageinterlace() - Включает или выключает интерлейсинг
  • imagetypes() - Возвращает список типов изображений, поддерживаемых PHP сборкой