(PHP 4, PHP 5, PHP 7)
imagejpeg — 画像をブラウザあるいはファイルに出力する
imagejpeg() は、画像 image
から
JPEG ファイルを作成します。
image
imagecreatetruecolor() のような画像作成関数が返す画像リソース。
to
ファイル保存先のパスあるいはオープン中のリソース (この関数が値を戻した後で自動的にクローズされます)。省略したり NULL
を設定したりした場合は、画像ストリームを直接出力します。
quality
パラメータを指定するためにこの引数をスキップするには、
NULL
を指定します。
quality
quality
はオプションであり、0(品質は最低
ですが、ファイルはより小さい)から100(品質は最高ですが、ファイルは
最大)の範囲で指定します。デフォルトは IJG 品質値(75)です。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
しかしながら、libgd がイメージの出力に失敗した場合、この関数は TRUE
を返します。
バージョン | 説明 |
---|---|
5.4.0 |
ストリームリソースを to
に渡せるようになりました。
|
5.4.0 |
空文字列を to に渡して
この引数をスキップすることはできなくなりました。
|
例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);
// content type ヘッダを、ここでは image/jpeg と設定します
header('Content-Type: image/jpeg');
// 画像を出力します
imagejpeg($im);
// メモリを開放します
imagedestroy($im);
?>
上の例の出力は、 たとえば以下のようになります。
例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');
// メモリを開放します
imagedestroy($im);
?>
例3 75% 品質でのブラウザへの画像の出力
<?php
// 空の画像を作成し、テキストを追加します
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// content type ヘッダを、ここでは image/jpeg と設定します
header('Content-Type: image/jpeg');
// to パラメータを NULL でスキップし、品質を 75% に設定します
imagejpeg($im, NULL, 75);
// メモリを開放します
imagedestroy($im);
?>
注意:
プログレッシブ JPEG を出力したい場合には、 imageinterlace() でインターレースをセットする必要があります。