thinkphp中的Image操作方法是什么
发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,这篇文章主要讲解了"thinkphp中的Image操作方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"thinkphp中的Image操作方法是
千家信息网最后更新 2024年10月28日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安全错误
数据库的锁怎样保障安全
碑文字体软件开发
jira数据库配置
2k服务器
管理系统软件开发外包
网络安全如何防范计算机
加工中心数据库配置
微信小程序软件开发多少钱一个
网络安全之防范外部势力
fsd服务器
软件开发师的发展路径
运行java的服务器是啥
银川在哪可以学软件开发
学计算机网络技术湖南专科学校
民间网络安全志愿者
湘潭it软件开发师培训
国家计算机三级网络技术考试题库
昆明2u双路机架式服务器
小学生网络安全进课堂
织网数据库
软件开发笔记本电脑价格
冯提莫的服务器
电影下载网站服务器怎样配置
qq16亿数据库下载
服务器安全性要求 国标
广西保立网络技术有限公司
湖南网络技术学院分数线
软件开发对象种类
有用的网络技术有哪些
森林资源档案数据库
关闭虚拟机会关闭服务器吗