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');
纯菜