thinkphp中的Image操作方法是什么
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"thinkphp中的Image操作方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"thinkphp中的Image操作方法是
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
内蒙古软件开发涉密甲级资质
网络安全 不传谣 信谣
导入相关数据库python
无锡节能软件开发业务
羊城杯网络安全2021
数据库软件生成表格和关系图
计算机网络技术尔雅txt
数据库最新开源
网络技术相关专业有哪些
侠客风云传手游服务器怎么升级
北京启名星辰网络安全
误造怎么单独开服务器
临汾展厅触摸互动软件开发公司
时和年丰软件开发
数据库建库须知
大微互联网科技
帐套建立需要那些数据库
数据库查看用户下数据量
网络安全信息教育进校园
吉安游戏软件开发在线咨询
2018央视网络安全大会
软件开发各种模型的优缺点
布兰卡德服务器
软件开发前景好还是金融好
专业网络安全服务
数据库理论知识题库
数据库管理有哪些工作
服务器开机 显示继续使用
网络技术开发以客为尊
秘书小说软件开发