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 相关文章推荐
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
php URL编码解码函数代码
Mar 10 PHP
php smarty函数扩展
Mar 15 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
教你php如何实现验证码
Jan 20 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
Yii编程开发常见调用技巧集锦
Jul 15 PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
Vue 使用中的小技巧
2018/04/26 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
Python中的fileinput模块的简单实用示例
2015/07/09 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
详解Python进程间通信之命名管道
2017/08/28 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python调用C语言程序方法解析
2020/07/07 Python
Pygame框架实现飞机大战
2020/08/07 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
预备党员群众路线思想汇报2014
2014/10/25 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书