検索
ホームページバックエンド開発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 までご連絡ください。
酸とベースデータベース:違いとそれぞれを使用するタイミング。酸とベースデータベース:違いとそれぞれを使用するタイミング。Mar 26, 2025 pm 04:19 PM

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。Mar 26, 2025 pm 04:18 PM

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

PHP入力検証:ベストプラクティス。PHP入力検証:ベストプラクティス。Mar 26, 2025 pm 04:17 PM

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

PHP APIレート制限:実装戦略。PHP APIレート制限:実装戦略。Mar 26, 2025 pm 04:16 PM

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

PHPパスワードハッシュ:password_hashおよびpassword_verify。PHPパスワードハッシュ:password_hashおよびpassword_verify。Mar 26, 2025 pm 04:15 PM

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。Mar 26, 2025 pm 04:13 PM

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

PHP XSS予防:XSSから保護する方法。PHP XSS予防:XSSから保護する方法。Mar 26, 2025 pm 04:12 PM

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

PHPインターフェイスvs抽象クラス:それぞれを使用する時期。PHPインターフェイスvs抽象クラス:それぞれを使用する時期。Mar 26, 2025 pm 04:11 PM

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

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

SecLists

SecLists

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません