画像操作と処理のための PHP ライブラリ
JPEG、PNG、GIF、TIF、BMP、ICO、PSD、WebP 画像を簡単に作成、読み取り、変更、サイズ変更、トリミングできるオープンソースの PHP ライブラリ。
Intervention Image は、オープン ソースの PHP 画像操作および処理ライブラリであり、ソフトウェア開発者が独自の PHP アプリケーション内で画像を作成、変更、構成できるようにします。 Intervention Image には、Laravel のオプション サポートがあり、簡単に統合できるようにサービス プロバイダーとファサードが付属しています。ライブラリは非常に安定しており、すべてのタスクを簡単な方法で最小限のコードで管理するのに役立ちます。
このライブラリは、最も一般的な 2 つの画像処理ライブラリである GD Library と Imagick をサポートしています。 JPEG、PNG、GIF、TIF、BMP、ICO、PSD、WebP など、多くの一般的な画像ファイル形式をサポートしています。読み取り可能な画像形式は、選択したドライバー (GD または Imagick) とローカル構成によって異なります。
ライブラリには、最初から画像を作成する、既存の画像を読み取る、既存の画像を編集する、画像のサムネイルを作成する、画像に効果を適用する、画像に透かしを追加する、大きな画像ファイルをフォーマットする、画像のサイズを変更するなど、いくつかの重要な画像処理機能のサポートが含まれています。必要に応じて、画像にテキストや図形を描画したり、画像情報を取得したり、その他多数の機能を備えています。
介入画像の開始
GD2 拡張機能を備えた PHP 5.4+ が必要です。 Intervention Image をインストールする最善の方法は、Composer を使用することです。次のコマンドを使用してください。
Composer を介して介入イメージをインストールする
$ php composer.phar require intervention/image
PHP経由で新しい画像を作成する
オープン ソースの Intervention Image ライブラリを使用すると、ソフトウェア開発者は独自のアプリケーション内で PHP コマンドを使用して新しい空のイメージ インスタンスを作成できます。開発者はカスタムの幅、高さを指定でき、選択した背景色を定義することもできます。色が定義されていない場合は、デフォルトのキャンバスの背景が使用されます。これは透明です。
新規画像の作成とファイルサイズの取得
// create an image
$img = Image::make('public/foo.jpg');
// get file size
$size = $img->filesize();
PHP API による画像の読み取り
Free Intervention Image ライブラリは、JavaScript アプリケーション内のさまざまな種類の画像を簡単に読み取るためのサポートを提供しています。画像の完全なパスを指定する必要があり、残りはライブラリによって簡単に実行されます。画像への URL を提供することもでき、簡単に読み取ることができます。また、バイナリ イメージ データ、base64 でエンコードされたイメージ データなどを読み取ることもできます。
PHP を使用した画像のトリミング
介入画像ライブラリには、数行の JavaScript コードを使用してプログラムで画像をトリミングする機能が含まれています。このライブラリを使用すると、開発者は長方形部分のカスタム幅と高さを提供し、提供された幅と高さに従って現在の画像のその部分を切り取ることができます。必要に応じて、x、y 座標を定義して、カットアウトの左上隅を特定の位置に移動することもできます。
作物のイメージ ビア PHP
// open file a image resource
$img = Image::make('public/foo.jpg');
// crop image
'$img->crop(100, 100, 25, 25);
画像フィルターの使用
フィルターは、特定の機能を強調したり、他の機能を削除したりできる一連のコマンドです。画像変換コマンドを専用のオブジェクトにグループ化する便利なオプションを提供し、そのオブジェクトを使用して画像に効果を適用できます。オブジェクトは、使用するコマンドとその順序を定義します。介入画像ライブラリを使用すると、独自のフィルターを定義して簡単に適用することもできます。
PHPを介して画像にフィルターを適用
namespace Intervention\Image\Filters;
class DemoFilter implements FilterInterface
{
const DEFAULT_SIZE = 10;
private $size;
// Creates new instance of filter
public function __construct($size = null)
{
$this->size = is_numeric($size) ? intval($size) : self::DEFAULT_SIZE;
}
public function applyFilter(\Intervention\Image\Image $image)
{
$image->pixelate($this->size);
$image->greyscale();
return $image;
}
}