画像リソースをブラウザーに表示・ファイルに出力 - imagejpeg()、imagepng()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、画像リソースをブラウザーに直接出力、あるいは画像ファイルに出力(作成)する関数 imagejpeg()、imagepng()を紹介します。
imagejpeg関数
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] ) 画像リソースから JPEG画像を出力・作成します。
引数 $image 画像リソースを指定します。 $filename 画像リソースをファイルに保存する場合、ファイル名を指定します。 $quality 画像のクオリティを0(低品質)から100(高品質)で指定します。デフォルトは75です。
返り値
画像の出力・作成に成功した場合は trueを、その他の場合は flaseを返します。
imagepng関数
bool imagepng ( resource $image [, string $filename [, int $quality ]] ) 画像リソースから PNG画像を出力・作成します。
引数 $image 画像リソースを指定します。 $filename 画像リソースをファイルに保存する場合、ファイル名を指定します。 $quality 画像の圧縮レベルを0(圧縮しない、高品質)から9(低品質)で指定します。
返り値
画像の出力・作成に成功した場合は trueを、その他の場合は flaseを返します。
サンプルスクリプト
メモリ上に確保した画像リソースをJPEG形式の画像としてブラウザに直接出力するサンプルスクリプトです。
imagejpeg( 画像リソース )
<?php // コンテンツがJPEG画像であることをブラウザにお知らせ header ('Content-Type: image/jpeg'); // メモリ上に画像リソースを確保 $img = imagecreatetruecolor(700, 300); // 画像リソースからPNGファイルを出力 imagejpeg($img); // 画像リソースを破棄 imagedestroy($img); ?>
それではサンプルスクリプトにアクセスしてみましょう。
サンプルにアクセスするとこのように700x300の真っ黒なJPEG画像が表示されます。
サンプルスクリプト
メモリ上に確保した画像リソースを指定したファイル名に保存するサンプルスクリプトです。
imagepng( 画像リソース, ファイル名 )
<?php // メモリ上に画像リソースを確保 $img = imagecreatetruecolor(700, 300); // 画像リソースからPNGファイルを出力 var_dump( imagepng($img, "image.png") ); // 画像リソースを破棄 imagedestroy($img); ?>
実行結果です。
bool(true)
指定したファイル名(ここでは「image.png」)の画像ファイルが作成されます。