今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列をファイルに書き込む - file_put_contents()
  3. ヒアドキュメント
  4. 論理値 - boolean
  5. OS情報を取得 - php_uname()

画像リソースをブラウザーに表示・ファイルに出力 - 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);
?>

それではサンプルスクリプトにアクセスしてみましょう。

imagejpeg() のサンプル

function-imagejpeg-imagepng-01
サンプルにアクセスするとこのように700x300の真っ黒なJPEG画像が表示されます。

サンプルスクリプト

メモリ上に確保した画像リソースを指定したファイル名に保存するサンプルスクリプトです。

imagepng( 画像リソース, ファイル名 )
<?php
// メモリ上に画像リソースを確保
$img = imagecreatetruecolor(700, 300);

// 画像リソースからPNGファイルを出力
var_dump( imagepng($img, "image.png") );

// 画像リソースを破棄
imagedestroy($img);
?>

実行結果です。

bool(true)

指定したファイル名(ここでは「image.png」)の画像ファイルが作成されます。

画像 の人気記事

  1. 画像をコピーし、リサイズ(拡大・縮小) - imagecopyresized()

関連記事(一部広告含む)