聊聊有关thinkphp中的Image操作

广告:宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取~~~

聊聊有关thinkphp中的Image操作

下面thinkphp框架教程栏目将给大家介绍关于thinkphp3.2.3中的Image操作,希望对需要的朋友有所帮助!

参考thinkphp3.2.3中Image操作

https://www.kancloud.cn/manual/thinkphp/1878

不依赖任何框架

一般情况下都会安装gd库

需要Imagick请安装 https://pecl.php.net/package/imagick

安装
composer require whereof/think-image
登录后复制实例化类库
$image = new \whereof\ThinkImage\Image();
登录后复制

默认使用GD库进行图像操作,如果需要使用Imagick库操作的话,需要改成:

$image = new \whereof\ThinkImage\Image(\Think\Image::IMAGE_IMAGICK); // 或者采用$image = new \whereof\ThinkImage\Image('Imagick');
登录后复制图像操作

下面来看下基础的图像操作功能的使用方法。

打开图像文件

假设当前入口文件目录下面有一个1.jpg文件

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

$image = \whereof\ThinkImage\Image(); $image->open('./1.jpg');
登录后复制

也可以简化成下面的方式:

$image = new \whereof\ThinkImage\Image(\whereof\ThinkImage\Image::IMAGE_GD,'./1.jpg'); // GD库// 或者$image = new \whereof\ThinkImage\Image(\whereof\ThinkImage\Image::IMAGE_IMAGICK,'./1.jpg');  // imagick库
登录后复制获取图像信息

可以获取打开图片的信息,包括图像大小、类型等,例如:

$width = $image->width(); // 返回图片的宽度$height = $image->height(); // 返回图片的高度$type = $image->type(); // 返回图片的类型$mime = $image->mime(); // 返回图片的mime类型$size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度
登录后复制裁剪图片

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

//将图片裁剪为400x400并保存为corp.jpg$image->crop(400, 400)->save('./crop.jpg');
登录后复制

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

//将图片裁剪为400x400并保存为corp.jpg$image->crop(400, 400,100,30)->save('./crop.jpg');
登录后复制生成缩略图

使用thumb方法生成缩略图

// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg$image->thumb(150, 150)->save('./thumb.jpg');
登录后复制

可以支持其他类型的缩略图生成,设置包括\whereof\ThinkImage\Image的下列常量或者对应的数字:

IMAGE_THUMB_SCALE     =   1 ; //等比例缩放类型IMAGE_THUMB_FILLED    =   2 ; //缩放后填充类型IMAGE_THUMB_CENTER    =   3 ; //居中裁剪类型IMAGE_THUMB_NORTHWEST =   4 ; //左上角裁剪类型IMAGE_THUMB_SOUTHEAST =   5 ; //右下角裁剪类型IMAGE_THUMB_FIXED     =   6 ; //固定尺寸缩放类型
登录后复制居中裁剪
$image = new \whereof\ThinkImage\Image();0
登录后复制左上角剪裁
$image = new \whereof\ThinkImage\Image();1
登录后复制缩放填充
$image = new \whereof\ThinkImage\Image();2
登录后复制固定大小
$image = new \whereof\ThinkImage\Image();3
登录后复制添加图片水印
$image = new \whereof\ThinkImage\Image();4
登录后复制

water方法的第二个参数表示水印的位置,可以传入下列Think\Imag类的常量或者对应的数字:

$image = new \whereof\ThinkImage\Image();5
登录后复制

例如:

$image = new \whereof\ThinkImage\Image();6
登录后复制

还可以支持水印图片的透明度(0~100,默认值是80),例如:

$image = new \whereof\ThinkImage\Image();7
登录后复制

也可以支持给图片添加文字水印(假设在入口文件的同级目录下存在1.ttf字体文件),例如:

$image = new \whereof\ThinkImage\Image();8
登录后复制

推荐学习:《最新的10个thinkphp视频教程》

以上就是聊聊有关thinkphp中的Image操作的详细内容,更多请关注9543建站博客其它相关文章!

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:swoole框架是什么
下一篇:使用Yii框架优化Web应用程序性能

发表评论

关闭广告
关闭广告