Laravel 图片处理:图片水印 2 个改进

安装 intervention/image

安装 Intervention Image 之前,需要安装了 Fileinfo 扩展,以及GD库(>=2.0)或者 Imagick 扩展(>=6.5.7)。

我们使用 composer 在命令行安装最新版本的 intervention/image

composer require intervention/image

注册服务提供者及别名(Laravel 版本 ≤ 5.4)

如果你的 laravel 版本小于或等于 5.4,安装后需要注册服务提供者和别名到 config/app.php

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

使用 Image 加水印

完成了上面的操作后,就可以开始处理图片了。在使用 Image 类之前,需要先 use Image;

// 修改指定图片的大小
$img = Image::make('images/avatar.jpg')->resize(200, 200);

// 插入水印, 水印位置在原图片的右下角, 距离下边距 10 像素, 距离右边距 15 像素
$img->insert('images/watermark.png', 'bottom-right', 15, 10);

// 将处理后的图片重新保存到其他路径
$img->save('images/new_avatar.jpg');

// 上面的逻辑可以通过链式表达式搞定
$img = Image::make('images/avatar.jpg')->resize(200, 200)->insert('images/new_avatar.jpg', 'bottom-right', 15, 10);
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 2

可以处理第三方存储图片吗?

4年前 评论
任飘渺

遇到 Can't write image data to path ->save('/upload/images/') public/upload/images

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!