laravel5.8使用 Intervention/image 處理圖片

使用composer下載: packagist地址

composer require intervention/image

打開config/app.php$providers數(shù)組中添加

Intervention\Image\ImageServiceProvider::class

$aliaes中添加

'Image' => Intervention\Image\Facades\Image::class

生成配置文件

php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"

image.png

網(wǎng)上說GD庫處理圖像的效率要遜色于imagemagick庫。上篇文章也安裝了imagemagick庫。這里的驅(qū)動就用imagick了

注冊測試圖片路由

Route::get('/','IndexController@img')->name('index.img');

控制器方法

use Intervention\Image\Facades\Image;

 public function img(){
        $qrcode =  Image::make('uploads/qrcode.jpg')->resize(80, 80);//二維碼修改大小
        $img = Image::make('uploads/anli/gS0qM5p7rcH4KklQfgb9ZwKWk5HfLVPtWuUCNLoj.jpeg')->resize(300, 300);//圖片處理
        $img->insert($qrcode,'bottom-right',15,10);//添加二維碼在右下方.距離下邊距 10 像素, 距離右邊距 15 像素

        $img->text( '測試', 0, 0, function($font) {
            $font->file(public_path('font\sd.ttf'));
            $font->size(28);//字體大小
            $font->color('#f00');//顏色
            $font->align('left');//起始點
            $font->valign('top');//起始點。當(dāng)前設(shè)置為字體的坐上為0,0
//        $font->angle(45);//傾斜角度
        });
        return $img->response('jpg');
    }
圖片加二維碼和文字

注意事項

  • make的圖片路徑是public的路徑
  • 字體必須指定ttf.否則可能不顯示。字體還必須可以顯示中文,有不少同學(xué)因為字體問題踩坑了
  • 字體路徑必須找得到,ttf區(qū)分大小寫
  • 有些情況可以改字符集
function to_unicode($string)
{
    $str = mb_convert_encoding($string, 'UCS-2', 'UTF-8');
    $arrstr = str_split($str, 2);
    $unistr = '';
    foreach ($arrstr as $n) {
        $dec = hexdec(bin2hex($n));
        $unistr .= '&#' . $dec . ';';
    }
    return $unistr;
}

可以參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容