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设计模式 Proxy (代理模式)
Jun 26 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Dec 05 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
PHP一些有意思的小区别
2006/12/06 PHP
怎样去阅读一份php源代码
2009/08/21 PHP
php实现插入排序
2015/03/29 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
vue组件的写法汇总
2018/04/12 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
Python内置数据类型详解
2014/08/18 Python
用Python实现一个简单的线程池
2015/04/07 Python
python实现bucket排序算法实例分析
2015/05/04 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
旅游个人求职信范文
2014/01/30 职场文书
继承权公证书
2014/04/09 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
学习之星事迹材料
2014/05/17 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
Python数组变形的几种实现方法
2022/05/30 Python