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
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
从php核心代码分析require和include的区别
Jan 02 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
yii上传文件或图片实例
Apr 01 PHP
浅析php创建者模式
Nov 25 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
PHP类的特性实例分析
Sep 28 PHP
php生成与读取excel文件
Oct 14 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中如何将数组变量写入文件
2013/06/06 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
Python实现多并发访问网站功能示例
2017/06/19 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
团代会宣传工作方案
2014/05/08 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
语文教师求职信范文
2015/03/20 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
JavaScript函数柯里化
2021/11/07 Javascript