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的计数器程序
Oct 09 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
php合并js请求的例子
Nov 01 PHP
PHP静态文件生成类实例
Nov 29 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
php把数组值转换成键的方法
Jul 13 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
PHP中常用的魔术方法
Apr 28 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
PHP实现的操作数组类库定义与用法示例
May 24 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 输出简单动态WAP页面
2009/06/09 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
jquery 上下滚动广告
2009/06/17 Javascript
javascript for循环设法提高性能
2010/02/24 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
Python中常见的数据类型小结
2015/08/29 Python
分享Python文本生成二维码实例
2016/01/06 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
Python创建数字列表的示例
2019/11/28 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
创新型城市实施方案
2014/03/06 职场文书
环保专项行动方案
2014/05/12 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
SQLServer常见数学函数梳理总结
2022/08/05 MySQL