使用gd库实现php服务端图片裁剪和生成缩略图功能分享


Posted in PHP onDecember 25, 2013

裁剪示例:

使用gd库实现php服务端图片裁剪和生成缩略图功能分享

最终裁剪成的图片:

使用gd库实现php服务端图片裁剪和生成缩略图功能分享

其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片。代码如下:

$src_path = '1.jpg';
//创建源图的实例
$src = imagecreatefromstring(file_get_contents($src_path));
//裁剪开区域左上角的点的坐标
$x = 100;
$y = 12;
//裁剪区域的宽和高
$width = 200;
$height = 200;
//最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width = 100;
$final_height = round($final_width * $height / $width);
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
//输出图片
header('Content-Type: image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);

其实如果坐标为(0,0),裁剪区域的宽高和源图的宽高一致,那么就是生成缩略图的功能了。

总结

这里只列出了php裁剪图片的示例,属于服务端的功能。如果客户端有需要,推荐一个jquery的插件imageAreaSelect,兼容性非常不错。

PHP 相关文章推荐
用PHP产生动态的影像图
Oct 09 PHP
Views rows style模板重写代码
May 16 PHP
php array_walk() 数组函数
Jul 12 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 PHP
ThinkPHP写第一个模块应用
Feb 20 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
使用淘宝IP库获取用户ip地理位置
Oct 27 PHP
PHP之uniqid()函数用法
Nov 03 PHP
php实现数据库的增删改查
Feb 26 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 #PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 #PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 #PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 #PHP
linux实现php定时执行cron任务详解
Dec 24 #PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 #PHP
php下载excel无法打开的解决方法
Dec 24 #PHP
You might like
PHP4实际应用经验篇(4)
2006/10/09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
php下获取http状态的实现代码
2014/05/09 PHP
php事务处理实例详解
2014/07/11 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
Python实现的金山快盘的签到程序
2013/01/17 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Python实现多线程抓取妹子图
2015/08/08 Python
python实现redis三种cas事务操作
2017/12/19 Python
Python中logging实例讲解
2019/01/17 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
用 Python 制作地球仪的方法
2020/04/24 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
一些.net面试题
2014/10/06 面试题
建筑设计师岗位职责
2013/11/18 职场文书
高一地理教学反思
2014/01/18 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
《学会合作》教学反思
2014/04/12 职场文书
个人承诺书格式
2014/06/03 职场文书
会员卡清退活动总结
2014/08/27 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
暑期家教宣传单
2015/07/14 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL