php实现图片按比例截取的方法


Posted in PHP onFebruary 06, 2017

本文实例讲述了php实现图片按比例截取的方法。分享给大家供大家参考,具体如下:

filename = 'img/test.jpg';
$all_type = array(
"jpg"  => array("create"=>"ImageCreateFromjpeg", "output"=>"imagejpeg"  , "exn"=>".jpg"),
"gif"  => array("create"=>"ImageCreateFromGIF" , "output"=>"imagegif"  , "exn"=>".gif"),
"jpeg"  => array("create"=>"ImageCreateFromjpeg", "output"=>"imagejpeg"  , "exn"=>".jpg"),
"png"  => array("create"=>"imagecreatefrompng" , "output"=>"imagepng"  , "exn"=>".png"),
"wbmp"  => array("create"=>"imagecreatefromwbmp", "output"=>"image2wbmp" , "exn"=>".wbmp")
);
$imgtype = getimagesize($filename);
$width = $imgtype[0];
$height = $imgtype[1];
$type = str_replace('image/','',$imgtype['mime']);
$func_create = $all_type[$type]['create'];
$func_output = $all_type[$type]['output'];
$x = $y =0;
if(($width * 100)>($height * 120))
{
$newwidth = ceil($height * 120/100);
$newheight = $height;
$x = ($width-$newwidth)/2;
}
elseif(($width * 100)<($height * 120))
{
$newheight = ceil($width * 100/120);
$newwidth = $width;
$y = ($height-$newheight)/2;
}
else
{
$newheight = $height;
$newwidth = $width; 
}
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = $func_create($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $newwidth, $newheight);
// Output
$func_output($thumb,'a.jpeg');
PHP 相关文章推荐
php 全局变量范围分析
Aug 07 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
php array_unique之后json_encode需要注意
Jan 02 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
php+laravel依赖注入知识点总结
Nov 04 PHP
php实现的中文分词类完整实例
Feb 06 #PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 #PHP
php使用变量动态创建类的对象用法示例
Feb 06 #PHP
PHP单例模式定义与使用实例详解
Feb 06 #PHP
PHP第三方登录―QQ登录实现方法
Feb 06 #PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 #PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 #PHP
You might like
PHP mkdir()定义和用法
2009/01/14 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
php删除指定目录的方法
2015/04/03 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
JS eval代码快速解密实例解析
2020/04/23 Javascript
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
python中int与str互转方法
2018/07/02 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
python二元表达式用法
2019/12/04 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
软件测试面试题
2015/10/21 面试题
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
大学生个人求职信范文
2013/09/21 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
家长学校工作方案
2014/05/07 职场文书
教师节晚会主持词
2015/06/30 职场文书
2019年入党思想汇报
2019/03/25 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang