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

PHPのimageinterlace()関数で画像のインターレースを有効・無効にする方法

imageinterlace()は、PHPに標準で組み込まれている関数の一つで、画像のインターレースを有効または無効にするために使用されます。

インターレースとは、ビットマップ画像のエンコード方式の一つです。この方式でエンコードされた画像は、ダウンロードが完全に終わっていなくても、全体の粗い(劣化した)コピーが表示されるため、ユーザーは読み込みの途中からでも画像のおおよその様子を確認できます。

画像にインターレースを設定すると、読み込み中でも画像の一部が徐々に表示されていきます。表示形式は画像の種類によって異なり、例えばインターレースなしのJPEGは上から順に1行ずつ表示されます。インターレースを有効にしたい場合は、この関数の第2引数に1を指定して呼び出すだけでOKです。逆に無効にしたい場合は0を指定します。

構文

int imageinterlace(resource $image, int $interlace)

パラメータ

imageinterlace()関数は、$image$interlaceという2つの引数を受け取ります。

  • $image − インターレースを設定する対象の画像リソースを指定します。

  • $interlace − インターレースを有効にするか(1)、無効にするか(0)を指定します。

戻り値

画像にインターレースビットが設定されている場合は1を返し、設定されていない場合は0を返します。

サンプルコード1:インターレースを有効にする

次の例では、imagecreatefromjpeg()関数でJPEG画像を読み込み、imageinterlace()関数の第2引数に1を渡してインターレースを有効にしています。

<?php
   // imagecreatefromjpeg()関数で画像を読み込む
   $img = imagecreatefromjpeg('C:\xampp\htdocs\test\30.jpg');
 
   // 第2引数に1を指定してインターレースを有効化
   imageinterlace($img, 1);

   // 出力画像を表示
   header('Content-type: image/jpeg');
   imagejpeg($img);
   imagedestroy($img);
?>

サンプルコード2:インターレースを無効にする

今度は逆に、第2引数に0を渡してインターレースを無効にする例です。

<?php
   // imagecreatefromjpeg()関数で画像を読み込む
   $img = imagecreatefromjpeg('C:\xampp\htdocs\test\30.jpg');
 
   // 第2引数に0を指定してインターレースを無効化
   imageinterlace($img, 0);

   // 出力画像を表示
   header('Content-type: image/jpeg');
   imagejpeg($img);
   imagedestroy($img);
?>

まとめ

imageinterlace()関数を使えば、たった1行のコードで画像のインターレース設定を切り替えられます。第2引数に1を指定すれば有効、0を指定すれば無効になり、戻り値で現在のインターレース状態(1または0)を確認することもできます。Webページで画像の読み込み体験を改善したい場合に役立つ関数なので、ぜひ活用してみてください。

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

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

  2. PHPのimagecreate()関数とは?使い方とサンプルコードを解説

    PHPのimagecreate()関数は、新しい画像(イメージリソース)を作成するために使用されるGDライブラリの関数です。パレットベースの画像を生成し、その後の描画処理やテキスト追加などに利用できます。imagecreate()とimagecreatetruecolor()の違い画像を作成する際には、imagecreate()よりもimagecreatetruecolor()を使用することが推奨されています。これは、imagecreatetruecolor()で作成できるフルカラー(トゥルーカラー)画像の方が高品質であり、画像処理を最高品質の状態で行えるためです。特にグラデーションや写真のよ