検索
ホームページバックエンド開発PHPの問題PHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)

前回の記事では『PHPでファイルをアップロードするには?読めばわかる! 》では、PHP でファイルをアップロードする方法を詳しく紹介しています。この記事では、PHP での画像処理に関する関連知識を見ていきます。皆様のお役に立てれば幸いです。

PHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)

画像処理は、PHP の作業で頻繁に発生するものであり、画像検証コードや画像の透かしなど、画像を処理する必要がある多くのシナリオに遭遇します。実際、画像処理の学習の焦点は、PHP の GD システムの機能を学習することです。PHP の画像処理には GD ライブラリのサポートが必要なので、最初に GD ライブラリに関する関連知識を見てみましょう。

GD ライブラリ

GD ライブラリは、グラフィックス イメージを作成するための関数ライブラリとして理解できます。実際には C 言語で書かれており、PHP で使用できます。PHP に加えて、Perl などの言語でも使用できます。GD ライブラリには、画像を処理するためのインターフェイスが多数用意されています。

GD は、 PHP このライブラリでは、ページ上にさまざまなグラフィック画像、統計グラフ、画像検証コードを描画できます。これらは、GD ライブラリを使用して実装することもできます。

例は次のとおりです。

<?php
phpinfo();
?>

入力後の出力結果に、以下に示す 2 つのオプションが表示された場合、現在のマシンが GD による画像処理をサポートしていることを意味します。

PHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)

または、

<?php
    print_r(gd_info());
?>

入力後に実行し、出力結果が下図のようであれば、現在のマシンが GD イメージによる処理をサポートしていることを意味します。

PHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)

インストールされていない場合は、Windows システムの php.ini 設定ファイルの「extension=php_gd2.dll」項目を変更することもできます。以上でコメント削除方法は完了です。

PHP では、GD ライブラリを使用して画像を処理する操作は、通常 4 つの基本ステップに分かれています。

  • キャンバスの作成

  • 描画画像

  • #出力画像

  • #リソースのリリース

#これらを経て完成します4 つのステップ 画像の基本的な操作がわかったところで、次は画像の操作方法を見ていきましょう。

キャンバスの作成

描画と画像処理はすべて、理解できる背景画像 (キャンバス) 上で完了する必要があります。画像の場合、画像情報を保存するためのキャンバスとしてメモリ内に一時領域があり、今後の画像操作はこの領域 (キャンバス) 上で実行されます。


imagecreate() imagecreatetruecolor() はキャンバスの作成に使用され、その構文形式は次のとおりです。 , $width 作成したキャンバスの幅が画像の幅としてもわかるという意味 $height 作成したキャンバスの高さも画像の高さになるという意味

両方ともキャンバスの作成には 2 つの関数を使用できますが、違いは、対応できる色の範囲が異なることです。

例は次のとおりです。

imagecreate(int $width, int $height)
imagecreatetruecolor(int $width, int $height)

キャンバスは作成されたばかりで何もないため、ブラウザはキャンバスを出力しませんが、出力することはできます。画像の幅と高さを取得するために、imagesx() と imagesy() を通過させます:

<?php
    $img = @imagecreatetruecolor(120, 20) or die(&#39;画布创建失败!&#39;);
?>

出力結果:


これから、キャンバスの作成が完了しました。 PHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)

上記の 2 つの関数を使用してキャンバスを作成することに加えて、次の方法でファイルまたは URL を使用して画像を作成することもできます:

##imagecreatefromgif()
    : GIF ファイルまたは URL を介して新しい画像を作成します
  • imagecreatefromjpeg()
  • : JPEG ファイルまたは UR を介して新しい画像を作成します
  • imagecreatefrompng()
  • : PNG ファイルまたは URL を通じて新しい画像を作成します
  • ##imagecreatefromwbmp()

    : 作成WBMP ファイルまたは URL を介した新しい画像 画像
  • 出力画像

上記の例では、キャンバスが正常に作成された場合は、PHP 形式の画像とは異なり、出力に異なる関数が必要になります。異なる関数は次のとおりです:

imagegif()

: 出力GIF 形式の画像をブラウザまたはファイルに出力
  • imagejpeg()

    : JPEG 形式の画像をブラウザまたはファイルに出力
  • imagepng( )

    : PNG 形式の画像をブラウザまたはファイルに出力します
  • 構文形式は次のとおりです:

    imagegif(resource $image[, string $filename])
    imagejpeg(resource $image[, string $filename[, int $quality]])
    imagepng(resource $image[, string $filename])

    其中,$image为创建的一个图像资源;$filename表示为参数,用来设置文件需要保存的路径。

    示例如下:

    首先我在根目录中已经保存了一个名为php.png的图像文件

    <?php
        header(&#39;Content-type:image/jpeg&#39;);
        $image= imagecreatefrompng(&#39;php.png&#39;);
        imagepng($image);
    ?>

    输出结果:

    PHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)

    通过imagecreatefrompng()函数和imagepng()成功的输出了一个格式为png的图片。

    释放图像资源

    通过上述示例已经成功的输出了图片,在图片的资源使用完成后,通常需要释放图像处理时所占用的内存,那应该怎样操作呢?

    在PHP中我们通过imagedestroy() 函数来释放图像资源,语法格式如下:

    imagedestroy(resource $image)

    其中$image表示需要释放资源的图像

    示例如下:

    <?php
        header(&#39;Content-type:image/jpeg&#39;);
        $image= imagecreatefrompng(&#39;php.png&#39;);
        imagepng($image);
        imagedestroy($image);
    ?>

    因为释放图像资源的操作是没有输出内容的,所以就不列出输出结果了。

    推荐学习:《PHP视频教程

以上がPHPで画像を出力するにはどうすればよいですか? (凡例の詳しい説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン