使用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 相关文章推荐
PHP5在Apache下的两种模式的安装
Sep 05 PHP
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
php生成shtml类用法实例
Dec 09 PHP
php实现mysql事务处理的方法
Dec 25 PHP
php根据用户语言跳转相应网页
Nov 04 PHP
基于php实现随机合并数组并排序(原排序)
Nov 26 PHP
php连接mysql数据库
Mar 21 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
JavaScript模拟push
2016/03/06 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python中字典和集合学习小结
2017/07/07 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
python实现连续图文识别
2018/12/18 Python
在python中画正态分布图像的实例
2019/07/08 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
培训研修方案
2014/06/06 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
节能环保口号
2014/06/12 职场文书
学雷锋宣传标语
2014/06/25 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
教师节座谈会主持词
2015/07/03 职场文书
关于python中模块和重载的问题
2021/11/02 Python