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中调用ASP.NET的WebService的代码
Apr 22 PHP
在php和MySql中计算时间差的方法
Apr 22 PHP
简单的PHP缓存设计实现代码
Sep 30 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
Jun 06 PHP
PHP eval函数使用介绍
Dec 08 PHP
php GUID生成函数和类
Mar 10 PHP
php检索或者复制远程文件的方法
Mar 13 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 PHP
tp5 实现列表数据根据状态排序
Oct 18 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
php去掉文件前几行的方法
2015/07/29 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
Python如何计算语句执行时间
2019/11/22 Python
Django重设Admin密码过程解析
2020/02/10 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
全球性的在线商店:Vogca
2019/05/10 全球购物
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
银行优秀员工事迹材料
2014/05/29 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
酒会邀请函
2015/01/31 职场文书
创卫工作总结2015
2015/04/22 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
python中super()函数的理解与基本使用
2021/08/30 Python
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript