使用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;
}
可以參考