当前位置: 首页 > 编程笔记 >

Yii2第三方类库插件Imagine的安装和使用

哈栋
2023-03-14
本文向大家介绍Yii2第三方类库插件Imagine的安装和使用,包括了Yii2第三方类库插件Imagine的安装和使用的使用技巧和注意事项,需要的朋友参考一下

Imagine

Imagine 是一个面向对象的 PHP 类库用于图片操作。这个类库能够处理一些常用到的操作如:调整大小、裁剪、应用过滤器等。

其Color类库可用于对任意对定的颜色生成RGB值。并且还提供一些方法来绘制图形如:圆弧,椭圆,线,片等。

此外,还可以利用一个灵活的字体类来加载任意字体文件,然后将文字插入到图片中。

Imagine 是一个会经常更新的类库,将来还会实现:图表生成、圆角过滤器等功能。

Yii2 安装 Imagine

Imagine 的手动下载和安装这里就不做介绍了,可自行百度。这里介绍 Yii2 的 Composer 方式来安装 Imageine。

方法一

php composer.phar require --prefer-dist yiisoft/yii2-imagine

方法二

在项目 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]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 插件第三方库 ThinkCMF5.1也支持插件自己安装第三方库,下面以 demo插件为例讲一下如何在插件中引入第三方库 创建 composer.json 在demo 插件根目录public/plugins/demo中创建composer.json文件 { "name": "thinkcmf/plugins-demo", "description": "ThinkCMF demo p

  • 您好,我刚刚安装了composer的Yii2基本项目。我在苹果osx优胜美地10.10。尽管如此,我正试图按照Yii guide 2.0教程中的描述安装扩展,但我无法做到,原因是我不知道该把这条线放在哪里: PHPcomposer.phar需要--able-dist arturoliveira/yii2-tileslidemenu"*" 此方法表示在终端中找不到编写器。法尔。上面的线放在哪里? 当

  • 大多数情况下,你会从发行版本的官方仓库安装软件包,所以使用简单的 package 资源就可以做到: package { "exim4": ensure => installed } 但是,有时你需要的软件包只能在第三方仓库(例如 Ubuntu PPA)中找到。 或者是第三方仓库提供的软件包版本比官方仓库中的软件包新。 对于手工管理的主机,你通常需要在安装软件包之前先添加仓库源配置到 /etc/a

  • 今天我们会介绍在 Django 生态中比较火的一些第三方插件。正是这些插件,让我们开发网站变得如此简单。同时我会就一个热门的第三方框架谈一谈如何学习该框架的源码。接下来,让我们一起开始今天的学习吧。 1. Django 中常用的插件库 1.1 Django Rest Framework Django Rest Framework 是一个强大且灵活的工具包,用以快速构建 Web API。为啥要使用它

  • 本文向大家介绍Python安装第三方库的3种方法,包括了Python安装第三方库的3种方法的使用技巧和注意事项,需要的朋友参考一下 【方法一】: 通过setuptools来安装python模块 首先下载 http://peak.telecommunity.com/dist/ez_setup.py NOTE: 最好下载个setuptools,本人是15.2版本,里面包含了ez_setup 运行 py

  • 本文向大家介绍Python第三方库的安装方法总结,包括了Python第三方库的安装方法总结的使用技巧和注意事项,需要的朋友参考一下 Python 是一门优雅的语言,简洁的语法,强大的功能。当然丰富的第三方库,更能加速开发。那么问题来了,如何安装这些第三方库(包)呢? 安装第三方库的方式其实不多。下面就介绍一些技巧。 源码安装 很多第三方库都是开源的,几乎都可以在github 或者 pypi上找到源