imagejpeg

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

imagejpeg画像をブラウザあるいはファイルに出力する

説明

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

imagejpeg() は、画像 image から JPEG ファイルを作成します。

パラメータ

image

imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。

file

ファイル保存先のパスあるいはオープン中のリソース (この関数が値を戻した後で自動的にクローズされます)。省略したり null を設定したりした場合は、画像ストリームを直接出力します。

quality

quality はオプションであり、0(品質は最低 ですが、ファイルはより小さい)から100(品質は最高ですが、ファイルは 最大)の範囲で指定します。 デフォルト (-1) は、IJG 品質値(75) を使います。

戻り値

成功した場合に true を、失敗した場合に false を返します。

警告

しかしながら、libgd がイメージの出力に失敗した場合、この関数は true を返します。

変更履歴

バージョン 説明
8.0.0 image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource が期待されていました。

例1 JPEG 画像のブラウザへの出力

<?php
// 空の画像を作成し、テキストを追加します
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  'A Simple Text String'$text_color);

// content type ヘッダを、ここでは image/jpeg と設定します
header('Content-Type: image/jpeg');

// 画像を出力します
imagejpeg($im);

// メモリを開放します
imagedestroy($im);
?>

上の例の出力は、 たとえば以下のようになります。

出力例 : JPEG 画像の出力

例2 JPEG 画像のファイルへの保存

<?php
// 空の画像を作成し、テキストを追加します
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  'A Simple Text String'$text_color);

// 画像を 'simpletext.jpg' として保存します
imagejpeg($im'simpletext.jpg');

// メモリを開放します
imagedestroy($im);
?>

例3 75% 品質でのブラウザへの画像の出力

<?php
// 空の画像を作成し、テキストを追加します
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  'A Simple Text String'$text_color);

// content type ヘッダを、ここでは image/jpeg と設定します
header('Content-Type: image/jpeg');

// to パラメータを NULL でスキップし、品質を 75% に設定します
imagejpeg($imNULL75);

// メモリを開放します
imagedestroy($im);
?>

注意

注意:

プログレッシブ JPEG を出力したい場合には、 imageinterlace() でインターレースをセットする必要があります。

参考

  • imagepng() - PNG イメージをブラウザまたはファイルに出力する
  • imagegif() - 画像をブラウザあるいはファイルに出力する
  • imagewbmp() - 画像をブラウザあるいはファイルに出力する
  • imageinterlace() - インターレースを有効もしくは無効にする
  • imagetypes() - この PHP がサポートしている画像形式を返す
関連キーワード:  画像, 出力, ファイル, 関数, imagejpeg, 品質, quality, GdImage, 注意, imageinterlace