PHP 画像処理の初心者ガイド
PHP は非常に人気のあるサーバーサイド プログラミング言語であり、Web 開発に広く使用されています。 Web 開発では、画像処理は非常に一般的な要件であり、PHP で画像処理を実装することも非常に簡単です。この記事では、PHP画像処理の入門ガイドを簡単に紹介します。
1. 環境要件
PHP 画像処理を使用するには、まず PHP GD ライブラリのサポートが必要です。このライブラリは、画像のファイルへの書き込みやブラウザへの出力、画像のトリミングや拡大縮小、テキストの追加、画像のグレースケール化や反転などの機能を提供します。したがって、サーバーに PHP GD ライブラリがインストールされていることを確認してください。
2. 一般的に使用される関数
- imagecreatetruecolor() 関数
imagecreatetruecolor() 関数は、True Color 画像リソースを作成するために使用されます。例:
$image = imagecreatetruecolor(200, 200);
- imagecolorallocate() function
imagecolorallocate() 関数は、画像リソースに色を割り当てるために使用されます。例:
$color = imagecolorallocate($image, 0, 0, 0);
このうち、$image は先ほど作成した画像リソースで、0, 0, 0 は黒の RGB 値を表します。
- imagefilledrectangle() 関数
imagefilledrectangle() 関数は、画像リソース内に色で塗りつぶされた四角形を描画するために使用されます。例:
imagefilledrectangle($image, 0, 0, 200, 200, $color);
$color は、以前に割り当てられた色です。
- imagettftext() 関数
imagettftext() 関数は、画像リソースにテキストを追加するために使用されます。例:
$text_color = imagecolorallocate($image, 255, 255, 255); imagettftext($image, 20, 0, 50, 100, $text_color, "arial.ttf", "Hello, PHP!");
このうち、20 はフォント サイズ、0 は傾き角度、50 と 100 はテキストの左上隅の座標、arial.ttf はフォント ファイルのパス、" Hello, PHP!" が出力されるテキストです。
- imagejpeg() 関数
imagejpeg() 関数は、画像を JPEG 形式で出力するために使用されます。例:
header("Content-Type: image/jpeg"); imagejpeg($image);
その中で、header() 関数は出力の Content-Type ヘッダーを設定するために使用され、出力が画像であり、$image が以前に作成された画像リソースであることをブラウザーに伝えます。 。
- imagedestroy() 関数
imagedestroy() 関数は、画像リソースを破棄するために使用されます。例:
imagedestroy($image);
3. 基本的な画像処理
- 画像の読み取りと出力
画像の読み取りと出力は非常に簡単で、imagecreatefromjpeg( ) を使用するだけです。および imagejpeg() 関数。例:
$image = imagecreatefromjpeg("example.jpg"); header("Content-Type: image/jpeg"); imagejpeg($image); imagedestroy($image);
このうち、imagecreatefromjpeg() 関数は example.jpg を画像リソースとして読み込み、header() 関数は出力 Content-Type ヘッダーを設定し、imagejpeg() 関数は画像を出力します。そして、imagedestroy() 関数は画像リソースを破棄します。
- 画像のトリミングと拡大縮小
画像のトリミングと拡大縮小を行うには、imagecopyresampled() 関数を使用する必要があります。例:
$image = imagecreatefromjpeg("example.jpg"); $width = imagesx($image); $height = imagesy($image); $new_image = imagecreatetruecolor(100, 100); imagecopyresampled($new_image, $image, 0, 0, 0, 0, 100, 100, $width, $height); header("Content-Type: image/jpeg"); imagejpeg($new_image); imagedestroy($image); imagedestroy($new_image);
このうち、imagecopyresampled() 関数の最初のパラメータは新しい画像リソース、2 番目のパラメータは古い画像リソース、次の 4 つのパラメータは上部の X と Y です。新しい画像リソースの左隅の座標。トリミングされた画像リソースの左上隅の X 座標と Y 座標。次の 2 つのパラメータは、新しい画像リソースの幅と高さです。次の 2 つのパラメータは、幅と高さです。古い画像リソースの。最後に、画像リソースを破棄します。
- ウォーターマークの追加
画像にウォーターマークを追加するには、imagecopy() 関数を使用する必要があります。例:
$image = imagecreatefromjpeg("example.jpg"); $watermark = imagecreatefrompng("watermark.png"); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); imagecopy($image, $watermark, 0, 0, 0, 0, $watermark_width, $watermark_height); header("Content-Type: image/jpeg"); imagejpeg($image); imagedestroy($image); imagedestroy($watermark);
このうち、imagecreatefrompng() 関数はウォーターマークを画像リソースとして読み込み、imagecopy() 関数は example.jpg にウォーターマークを追加して画像リソースを破棄します。
4. 高度な画像処理
- 画像サムネイル
画像サムネイルは Web 開発における非常に一般的な要件であり、PHP GD ライブラリでも提供されています。サムネイルを生成する非常に便利な機能です。例:
$image = imagecreatefromjpeg("example.jpg"); $width = imagesx($image); $height = imagesy($image); $new_width = 100; $new_height = ($new_width / $width) * $height; $new_image = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); header("Content-Type: image/jpeg"); imagejpeg($new_image); imagedestroy($image); imagedestroy($new_image);
まず、元の画像を読み取り、新しい幅と高さを計算し、imagecreatetruecolor() 関数を使用して新しい画像リソースを作成し、imagecopyresampled() 関数を使用して古い画像リソースを縮小します。画像を新しい幅と高さに変更し、最後に新しい画像を出力し、画像リソースを破棄します。
- 画像フィルター
画像フィルターを使用すると、画像に非常にクールな効果を追加できます。 PHP GD ライブラリでは、imagefilter() 関数を使用してこれを簡単に実現できます。例:
$image = imagecreatefromjpeg("example.jpg"); imagefilter($image, IMG_FILTER_GRAYSCALE); header("Content-Type: image/jpeg"); imagejpeg($image); imagedestroy($image);
このうち、IMG_FILTER_GRAYSCALE は画像をグレースケールに変更できるグレースケール フィルターです。
- 画像のエンコードとデコード
Web 開発では、HTML で表示するために画像を Base64 エンコードに変換するのが一般的です。 PHP GD ライブラリは、Base64 エンコーディングを直接出力する imagejpeg() 関数と imagepng() 関数を提供します。例:
$image = imagecreatefromjpeg("example.jpg"); ob_start(); imagejpeg($image); $data = ob_get_contents(); ob_clean(); $base64 = "data:image/jpeg;base64," . base64_encode($data); echo "<img src="$base64">"; imagedestroy($image);
その中で、ob_start() 関数は出力キャッシュをオンにし、imagejpeg() 関数は画像をキャッシュに出力し、ob_get_contents() 関数はキャッシュ内のデータを取得し、ob_clean () 関数はキャッシュをクリアし、base64_encode() 関数はキャッシュ内のデータを Base64 でエンコードし、最後に src 属性の値として Base64 エンコードを使用して img タグを生成します。画像リソースを破棄します。
結論
以上は、PHP 画像処理の入門ガイドであり、PHP GD ライブラリが提供する基本機能と共通機能を理解し、画像の実装方法を理解することができます。例による処理と高度な画像処理。初心者はすでにある程度の理解と実践的な基礎を持っていると思います。もちろん、ここで紹介するのはごく基本的で簡単な機能にすぎませんので、読者の皆様にはぜひ深く学び、実践していただき、ご自身の Web 開発の可能性を広げていただければ幸いです。
以上がPHP 画像処理の初心者ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
