tp5的图像处理

使用Composer安装ThinkPHP5的图像处理类库:

composer require topthink/think-image

使用open方法打开图像文件进行相关操作:

$image = \think\Image::open('./image.png');

也可以从直接获取当前请求中的文件上传对象,例如:

$image = \think\Image::open(request()->file('image'));

获取图像信息

$image = \think\Image::open('./image.png');// 返回图片的宽度
$width = $image->width(); // 返回图片的高度
$height = $image->height(); // 返回图片的类型
$type = $image->type(); // 返回图片的mime类型
$mime = $image->mime(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度
$size = $image->size(); 

裁剪图片

使用crop和save方法完成裁剪图片功能。

$image = \think\Image::open('./image.png');//将图片裁剪为300x300并保存为crop.png
$image->crop(300, 300)->save('./crop.png');

支持从某个坐标开始裁剪,例如下面从(100,30)开始裁剪

$image = \think\Image::open('./image.png');//将图片裁剪为300x300并保存为crop.png
$image->crop(300, 300,100,30)->save('./crop.png');

生成缩略图

使用thumb方法生成缩略图

$image = \think\Image::open('./image.png');
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
$image->thumb(150, 150)->save('./thumb.png');

添加水印

系统支持添加图片及文字水印,下面依次举例说明

添加图片水印,我们下载官网logo文件到根目录进行举例:

$image = \think\Image::open('./image.png');// 给原图左上角添加水印并保存water_image.png
$image->water('./logo.png')->save('water_image.png'); 

也可以支持给图片添加文字水印(我们复制一个字体文件HYQingKongTiJ.ttf到入口目录),我们现在生成一个像素20px,颜色为#ffffff的水印效果:

$image = \think\Image::open('./image.png');// 给原图左上角添加水印并保存water_image.png
$image->text('十年磨一剑 - 为API开发设计的高性能框架','HYQingKongTiJ.ttf',20,'#ffffff')->save('text_image.png');
posted @ 2021-02-01 19:54  跟我发泡?  阅读(352)  评论(0编辑  收藏  举报