PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagecreatefrompng()関数でPNGファイルやURLから新しい画像を作成する方法


PHPのimagecreatefrompng()は、標準で用意されている組み込み関数のひとつで、PNGファイルまたはURLから新しい画像を作成します。指定されたファイル名から取得した画像を表す「画像リソース識別子」を返します。なお、この関数を利用するには、PHP環境にGDライブラリが組み込まれている必要があります。

構文

resource imagecreatefrompng(string $filename)

パラメータ

imagecreatefrompng()が受け取るパラメータは$filenameのひとつだけです。この引数には、読み込みたいPNG画像のファイル名、または画像へのパス(URL)を指定します。

戻り値

成功した場合は画像リソース識別子を返し、失敗した場合はfalseを返します。

例1:読み込んだPNG画像をブラウザに表示する

<?php
    // ローカルのファイルから画像を読み込む
    $img = imagecreatefrompng('C:\xampp\htdocs\Images\img29.png');
    // 読み込んだPNG画像をブラウザに表示する
    header('Content-type: image/png');
    imagepng($img);
    imagedestroy($img);
?>

出力

PHPのimagecreatefrompng()関数でPNGファイルやURLから新しい画像を作成する方法

例2:読み込んだPNG画像をローカルドライブに保存する

<?php
    // ローカルのファイルから画像を読み込む
    $img = imagecreatefrompng('C:\xampp\htdocs\Images\img29.png');

    // 画像を反転させたい場合(必要に応じてコメントを解除)
    // imageflip($img, 1);

    // 指定したローカルフォルダのパスへJPEG画像として保存する
    imagejpeg($img, 'C:\xampp\htdocs\pic.jpg');
    imagedestroy($img);
?>

出力

PHPのimagecreatefrompng()関数でPNGファイルやURLから新しい画像を作成する方法

解説:例2では、imagecreatefrompng()関数を使ってローカルパスからPNG画像を読み込み、続いてimagejpeg()関数に保存先のパスを渡すことで、PNG画像をJPEG形式に変換してローカルドライブに保存しています。

一方、例1のようにheader()関数でContent-Typeを指定してから画像を出力すれば、ファイルに保存することなく、読み込んだ画像をそのままブラウザ上に表示することができます。

補足ポイント

・処理に失敗した場合はfalseが返るため、実際の開発ではis_resource()などで戻り値をチェックし、エラー処理を組み込んでおくと安全です。
・第1引数にはURLを指定することも可能ですが、その場合はPHP設定のallow_url_fopenが有効になっている必要があります。
・使用後の画像リソースはimagedestroy()で明示的に解放すると、サーバーのメモリを節約できます。

  1. PHPのimagecreatefromwbmp()関数でWBMPファイルやURLから新しい画像を作成する方法

    PHPには、WBMPファイルまたはURLから新しい画像を作成するための組み込み関数 imagecreatefromwbmp() が用意されています。この関数は、指定されたファイル名から取得した画像を表す画像リソース識別子を返します。WBMPファイルから画像を読み込んだ後に編集したい場合などに活用できる便利な関数です。また、imagewbmp() 関数を使えば、画像をWBMP形式へ変換して保存することも可能です。 構文 resource imagecreatefromwbmp(string $filename) パラメータ imagecreatefromwbmp() が受け取るパラメータは $f

  2. PHPのimagecreatefromjpeg()関数でJPEGファイルから新しい画像を作成する方法

    imagecreatefromjpeg()は、PHPに組み込まれている関数の一つで、JPEGファイルから新しい画像を生成するために使用されます。指定したファイル名から取得した画像を表す画像リソース識別子(イメージID)を返します。この関数は、GDライブラリが有効になっている環境で動作し、JPEG画像の読み込み、編集、再保存など、さまざまな画像処理の起点としてよく利用されます。構文resource imagecreatefromjpeg(string $filename)パラメータimagecreatefromjpeg()が受け取るパラメータは$filenameの1つだけです。ここには、読み込む