Yii2外掛程式Imagine的安裝和使用方法

來源:互聯網
上載者:User
Imagine 是一個物件導向的 PHP 類庫用於圖片操作。這個類庫能夠處理一些常用到的操作如:調整大小、裁剪、應用過濾器等。其Color類庫可用於對任意對定的顏色產生RGB值。並且還提供一些方法來繪製圖形如:圓弧,橢圓,線,片等。此外,還可以利用一個靈活的字型類來載入任意字型檔,然後將文字插入到圖片中。Imagine 是一個會經常更新的類庫,將來還會實現:圖表產生、圓角過濾器等功能。本文主要和大家介紹Yii2第三方類庫外掛程式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,那麼不縮率不截取,直接返回源圖 100x80Image::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 儲存到 $aimImgImage::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]);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.