Imagine est une bibliothèque de classes PHP orientée objet pour la manipulation d'images. Cette bibliothèque de classes peut gérer certaines opérations couramment utilisées telles que le redimensionnement, le recadrage, l'application de filtres, etc. Sa bibliothèque de classes Color peut être utilisée pour générer des valeurs RVB pour n'importe quelle couleur donnée. Il fournit également quelques méthodes pour dessiner des graphiques tels que des arcs, des ellipses, des lignes, des tranches, etc. De plus, une classe de police flexible peut être utilisée pour charger n'importe quel fichier de police, puis insérer du texte dans l'image. Imagine est une bibliothèque de classes qui sera fréquemment mise à jour, à l'avenir, elle implémentera également des fonctions telles que la génération de graphiques et des filtres à coins arrondis. Cet article présente principalement l'installation et l'utilisation du plug-in de bibliothèque tierce Yii2. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer. J'espère qu'il pourra vous aider.
Installation de Yii2 Imagine
Le téléchargement manuel et l'installation d'Imagine ne seront pas présentés ici, vous pouvez le Baidu vous-même. Nous présentons ici la méthode Composer de Yii2 pour installer Imageine.
Méthode 1
php composer.phar require --prefer-dist yiisoft/yii2-imagine
Méthode 2
Ajoutez le code suivant dans le champ requis du fichier composer.json du projet :
"yiisoft/yii2-imagine": "~2.1.0"
Exécutez ensuite la commande (cmd) dans le répertoire racine du projet :
composer require yiisoft/yii2-imagine
Yii2 utilise 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]);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!