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简单命令代码集锦
Sep 24 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
php存储过程调用实例代码
Feb 03 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
PHP语法自动检查的Vim插件
Aug 11 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
PHP实现多文件上传的方法
Jul 08 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 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中Date()时间日期函数的使用方法小结
2011/04/20 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
php计算整个目录大小的方法
2015/06/19 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
php json转换相关知识(小结)
2018/12/21 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python re模块常见用法例举
2021/03/01 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
设计总监岗位职责
2013/12/07 职场文书
金融行业务员的自我评价
2013/12/13 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
导游词之上海豫园
2019/10/24 职场文书
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android
深入理解Pytorch微调torchvision模型
2021/11/11 Python