検索
ホームページバックエンド開発PHP7PHP7.0で画像処理をするにはどうすればよいですか?

PHP7.0で画像処理をするにはどうすればよいですか?

May 27, 2023 am 08:51 AM
PHPの画像処理php gdライブラリphp imagemagick

PHP は、Web 開発で広く使用されているプログラミング言語で、可読性が高く、習得が容易であり、画像処理の分野でも高い応用価値があります。 PHP5.5 から PHP7.0 にアップグレードするまで、PHP は、より効率的なメモリ管理、より高速な実行速度、より豊富な画像処理機能など​​を含む、画像処理における一連の最適化と改善を行ってきました。この記事ではPHP7.0で画像処理を行う方法を詳しく紹介します。

1. GD ライブラリ

画像処理は Web 開発に不可欠な部分であるため、PHP は Web 開発者が画像処理を実行するのに役立つ多くのライブラリを提供しており、その中で最も一般的なのが GD ライブラリです。 GD ライブラリは、拡大縮小、回転、剪断など、画像を処理するためのシンプルで使いやすい機能を多数提供する PHP の拡張ライブラリです。 PHP7.0 では、GD ライブラリもいくつかの最適化が行われています。 GD ライブラリを使用するには、php.ini ファイルの拡張ディレクティブを通じて有効にすることができますが、PHP のインストール時に有効にする必要があります。

2. GD ライブラリをインストールする

GD ライブラリを使用する前に、PHP がこのライブラリを有効にしているかどうかを確認する必要があります。 phpinfo() 関数を使用して、GD ライブラリに関する情報を含む PHP 構成情報を表示できます。 GD ライブラリがインストールされているかどうかは、次の方法で確認できます。

<?php
phpinfo();
?>

gd 拡張モジュール テーブルが表示されない場合は、GD ライブラリがインストールされていないことを意味します。 GD ライブラリをインストールするには、次の手順を使用できます。

  1. GD ライブラリをダウンロード

GD ライブラリの公式 Web サイト (https://libgd.github) にアクセスします。 .io/)、対応するインストール パッケージをダウンロードします。

  1. 依存関係のインストール

GD ライブラリをインストールするには、まず gd、libpng、libjpeg、libfreetype の依存関係をインストールする必要があります。これらの依存関係は、使用しているオペレーティング システムに応じて異なります。確かに。

たとえば、Ubuntu では、これらの依存関係は次のコマンドを使用してインストールできます。

 sudo apt-get install libpng-dev libjpeg-dev libfreetype6-dev
  1. GD ライブラリをコンパイルしてインストールする

コンパイルしてインストールする次のコマンドを使用して、GD ライブラリをインストールします。

 ./configure
 make
 make install
  1. GD ライブラリを有効にする

php.ini ファイル (PHP の場合は php-fpm.ini) を入力します。 FPM) を開き、次の手順を見つけます。

 ;extension=gd.so

先行するセミコロンを削除し、コメントを解除し、保存してサーバーを再起動します。

3. 画像処理

  1. 画像の作成

まず、キャンバスを作成する必要があります。GD の imagecreatetruecolor() 関数を使用できます。指定したサイズのキャンバスやカラーキャンバスを作成するライブラリです。たとえば、次のコードは、サイズが 400x400 ピクセル、背景色が白のキャンバスを作成します。

 $image = imagecreatetruecolor(400, 400);
 $background = imagecolorallocate($image, 255, 255, 255);
 imagefill($image, 0, 0, $background);
  1. 画像の読み取り

画像を操作するには、画像ファイルをメモリに読み込む必要があります。イメージは、GD ライブラリの imagecreatefromxxx() 関数を使用して読み取ることができます。 xxx は、jpeg、png、gif などのさまざまな画像ファイル形式を表します。たとえば、次のコードは「test.jpg」という名前の JPEG 画像を読み取ります。

 $image = imagecreatefromjpeg('test.jpg');
  1. 画像の拡大縮小

画像の拡大縮小は、一般的な画像処理操作です。 GD ライブラリの imagescale() 関数を使用して、画像を拡大縮小し、拡大縮小後のサイズを指定できます。たとえば、次のコードは 800x600 ピクセルの画像を 400x300 ピクセルのサイズに拡大縮小します。

 $image = imagecreatefromjpeg('test.jpg');
 $resized_image = imagescale($image, 400, 300);
  1. 画像の回転

もう 1 つの一般的な画像処理操作は、画像の回転です。 。 GD ライブラリの imagerotate() 関数を使用して、画像を回転し、回転角度を指定できます。たとえば、次のコードは画像を 90 度回転します。

 $image = imagecreatefromjpeg('test.jpg');
 $rotated_image = imagerotate($image, 90, 0);
  1. MERGE IMAGES

画像の結合は、2 つ以上の画像を新しい画像操作に結合する方法です。 。 GD ライブラリの imagecopy() 関数を使用して、イメージを結合できます。たとえば、次のコードは 2 つの画像を結合します。

 $image1 = imagecreatefrompng('image1.png');
 $image2 = imagecreatefromjpeg('image2.jpg');
 imagecopy($image1, $image2, 0, 0, 0, 0, 200, 200);
  1. 画像の切り取り

画像の切り取りは一般的な操作です。GD ライブラリの imagecrop() 関数を使用して、埋め込む。たとえば、次のコードは、800x600 ピクセルの画像から 200x200 ピクセルの正方形を切り出します。

 $image = imagecreatefromjpeg('test.jpg');
 $cropped_image = imagecrop($image, ['x' => 300, 'y' => 200, 'width' => 200, 'height' => 200]);
  1. 出力画像

最終的に、処理された画像は次のようになります。レスポンスに出力します。 GD ライブラリの imagepng()、imagejpeg()、imagegif() およびその他の関数を使用して、画像を PNG、JPEG、GIF およびその他の形式のファイルに出力できます。例えば、以下のコードは、「output.jpg」という名前の JPEG 画像をレスポンスに出力します。

 header('Content-Type: image/jpeg');
 imagejpeg($image, null, 100);

4. まとめ

PHP7.0 での画像処理は非常に簡単で、主に各種関数を使用します。イメージを作成、操作、出力するために GD ライブラリによって提供されます。 GD ライブラリを使用するには、依存関係を確認してインストールし、php.ini ファイルで対応する拡張機能を有効にする必要があります。その後、さまざまな GD ライブラリ関数を使用して、拡大縮小、回転、剪断、結合などの一般的な画像処理操作を実装できます。 Web 開発における画像処理には、PHP7.0 が非常に効果的かつ効率的な選択肢となります。

以上がPHP7.0で画像処理をするにはどうすればよいですか?の詳細内容です。詳細については、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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

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

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール