Imagine は、画像操作のためのオブジェクト指向 PHP クラス ライブラリです。このクラス ライブラリは、サイズ変更、トリミング、フィルターの適用など、一般的に使用される操作を処理できます。その Color クラス ライブラリを使用して、任意の色の RGB 値を生成できます。また、円弧、楕円、線、スライスなどのグラフィックを描画するためのいくつかのメソッドも提供します。さらに、柔軟なフォント クラスを使用して、任意のフォント ファイルをロードし、画像にテキストを挿入できます。 Imagine は今後頻繁に更新されるクラス ライブラリであり、グラフの生成や角丸フィルターなどの機能も実装される予定です。この記事では主に Yii2 サードパーティ ライブラリ プラグイン Imagine のインストールと使用方法を紹介します。興味のある方は参考にしていただければ幸いです。
Yii2 インストール Imagine
Imagine の手動ダウンロードとインストールはここでは紹介しません。Baidu 自身で行うことができます。ここでは Yii2 の Composer を使って Imageine をインストールする方法を紹介します。
方法1
php composer.phar require --prefer-dist yiisoft/yii2-imagine
方法2
プロジェクトcomposer.jsonファイルのrequireフィールドに次のコードを追加します:
"yiisoft/yii2-imagine": "~2.1.0"
次に、プロジェクトのルートディレクトリでコマンド(cmd)を実行します:
composer require yiisoft/yii2-imagine
Yii2 Imagine を使用
use yii\imagine\Image; $srcImg = Yii::getAlias('@webroot/test.jpg'); $aimImg = Yii::getAlias('@webroot/testdeal.jpg'); $srcTTF = Yii::getAlias('@webroot/img/symbol.ttf'); // 缩略 // 参数 inset 表示定框缩略 // 图片完整缩略在 200x100 的框内 // 备注:定框的宽度或高度必须有一个小于图片的实际尺寸,否则直接返回源图尺寸 Image::thumbnail($srcImg, 200, 100, 'inset')->save($aimImg, ['quality'=>100]); // 缩略 // 参数 outbound 表示单尺寸优先缩略并居中截取 // 该参数为函数的默认值,它会为您尽可能多的截取图片但又不会超出图片范围 // 例:源图 500x200,那么按照高度 100 缩略(变为250x100),然后再居中截取 200x100 // 例:源图 400x350,那么按照宽度 200 缩率(变为200x175),然后再居中截取 200x100 // 例:源图 100x80,那么不缩率不截取,直接返回源图 100x80 Image::thumbnail($srcImg, 200, 100, 'outbound')->save($aimImg, ['quality'=>100]); // 缩略 // 按宽度 200 缩略,高度自适应 Image::thumbnail($srcImg, 200, null)->save($aimImg, ['quality'=>100]); // 缩略 // 按高度 100 缩略,宽度自适应 Image::thumbnail($srcImg, null, 100)->save($aimImg, ['quality'=>100]); // 剪切 // 参数:源图、宽度、高度、起始点 // 将源文件 $srcImg 保存到 $aimImg Image::crop($srcImg, 400, 200, [100,100])->save($aimImg); // 旋转 // 未研究 Image::frame('@webroot/img/test-image.jpg', 5, '666', 0)->rotate(-8)->save(Yii::getAlias('@webroot/img/thumb-test-frame.jpg'), ['quality' => 100]); // 水印 // 未研究 Image::watermark('@webroot/img/test-image.jpg', '@webroot/img/watermark.jpg', [10,10])->save(Yii::getAlias('@webroot/img/thumb-test-watermark.jpg'), ['quality' => 100]); // 文字水印 // 参数:源图、文字、字体、起始点、字体配置 Image::text($srcImg, 'hello world', $srcTTF, [100,100] ,['color'=>'000000','size'=>50])->save($aimImg, ['quality'=>100]);
以上がYii2 プラグイン Imagine のインストール方法と使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。