thinkphp中的Image操作方法是什么
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"thinkphp中的Image操作方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"thinkphp中的Image操作方法是
千家信息网最后更新 2026年11月01日thinkphp中的Image操作方法是什么
这篇文章主要讲解了"thinkphp中的Image操作方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"thinkphp中的Image操作方法是什么"吧!
不依赖任何框架
一般情况下都会安装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 ; //固定尺寸缩放类型
居中裁剪
// 生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_CENTER)->save('./thumb.jpg');左上角剪裁
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_NORTHWEST)->save('./thumb.jpg');缩放填充
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_FILLED)->save('./thumb.jpg');固定大小
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_FIXED)->save('./thumb.jpg');添加图片水印
//将图片裁剪为440x440并保存为corp.jpg$image->crop(440, 440)->save('./crop.jpg');// 给裁剪后的图片添加图片水印(水印文件位于./logo.png),位置为右下角,保存为water.gif$image->water('./logo.png')->save("water.gif");// 给原图添加水印并保存为water_o.gif(需要重新打开原图)$image->open('./1.jpg')->water('./logo.png')->save("water_o.gif");water方法的第二个参数表示水印的位置,可以传入下列Think\Imag类的常量或者对应的数字:
IMAGE_WATER_NORTHWEST = 1 ; //左上角水印IMAGE_WATER_NORTH = 2 ; //上居中水印IMAGE_WATER_NORTHEAST = 3 ; //右上角水印IMAGE_WATER_WEST = 4 ; //左居中水印IMAGE_WATER_CENTER = 5 ; //居中水印IMAGE_WATER_EAST = 6 ; //右居中水印IMAGE_WATER_SOUTHWEST = 7 ; //左下角水印IMAGE_WATER_SOUTH = 8 ; //下居中水印IMAGE_WATER_SOUTHEAST = 9 ; //右下角水印
例如:
$image->open('./1.jpg')->water('./logo.png',\whereof\ThinkImage\Image::IMAGE_WATER_NORTHWEST)->save("water.jpg");还可以支持水印图片的透明度(0~100,默认值是80),例如:
$image->open('./1.jpg')->water('./logo.png',\whereof\ThinkImage\Image::IMAGE_WATER_NORTHWEST,50)->save("water.jpg");也可以支持给图片添加文字水印(假设在入口文件的同级目录下存在1.ttf字体文件),例如:
$image->open('./1.jpg')->text('ThinkPHP','./1.ttf',20,'#000000',\whereof\ThinkImage\Image::IMAGE_WATER_SOUTHEAST)->save("new.jpg");感谢各位的阅读,以上就是"thinkphp中的Image操作方法是什么"的内容了,经过本文的学习后,相信大家对thinkphp中的Image操作方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
图片
水印
类型
方法
图像
文件
生成
支持
原图
左上角
学习
位置
信息
入口
内容
功能
大小
宽度
尺寸
常量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
华服互联网科技怎么样
中关村互联网 科技集团
互联网属科技
上海喔噻互联网科技
奇酷互联网络科技公司
掌上梦互联网科技
互联网科技公司有哪些
中正互联网科技招聘
互联网实体化科技化
成都互联网科技公司100强
移动互联网科技公司
未来五年的互联网科技
互联网公司黑科技创始人
深圳艾果互联网通讯科技
中国互联网有什么科技
抖集互联网科技技术咨询
吉林省码上互联网科技电话
容联科技互联网电商
互联网科技创业计划的风险分析
互联网为科技
互联网科技与金融科技
中国 科技 互联网
镁科技互联网资讯平台
佩信高科技互联网
北京华百购互联网科技有限公司
岳阳华臻互联网科技有限公司
互联网营销推广黑科技
优雇互联网科技有限公司
互联网科技自媒体灵感