laravel5.8使用 Intervention/image 处理图片【附laravel5.8视频教程】

使用composer下载: packagist地址

composer require intervention/image

打开config/app.php$providers数组中添加

Intervention\Image\ImageServiceProvider::class

$aliaes中添加

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

生成配置文件

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

4424012-51f2a93189608fc5.png
image.png

网上说GD库处理图像的效率要逊色于imagemagick库。上篇文章也 安装了imagemagick库。这里的驱动就用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');//起始点。当前设置为字体的坐上为0,0
//        $font->angle(45);//倾斜角度
        });
        return $img->response('jpg');
    }
4424012-8f9369f2fb040874.png
图片加二维码和文字

注意事项

  • make的图片路径是public的路径
  • 字体必须指定ttf.否则可能不显示。字体还必须可以显示中文,有不少同学因为字体问题踩坑了
  • 字体路径必须找得到,ttf区分大小写
  • 有些情况可以改字符集
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;
}

可以参考




本人有份laravel5.8和laravel6教学课程,需要的同学可以关注公众号:小贝壳的资源库恢复laravel获取

4424012-5e9d5d3378d4d26d.jpg
关注公众号获取
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值