基于PHP实现等比压缩图片大小


Posted in PHP onMarch 04, 2016

废话不多说了,直接给大家贴php等比压缩图片大小的相关代码了,具体代码如下所示:

<?php
$im = imagecreatefromjpeg('D:\phpplace\.jpeg');
resizeImage($im,,,'xinde','.jpg');
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
{
$pic_width = imagesx($im);
$pic_height = imagesy($im);
echo "start-----------------" ;
if(($maxwidth && $pic_width > $maxwidth) && ($maxheight && $pic_height > $maxheight))
{
if($maxwidth && $pic_width>$maxwidth)
{
$widthratio = $maxwidth/$pic_width;
$resizewidth_tag = true;
}
if($maxheight && $pic_height>$maxheight)
{
$heightratio = $maxheight/$pic_height;
$resizeheight_tag = true;
}
if($resizewidth_tag && $resizeheight_tag)
{
if($widthratio<$heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}
if($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;
if($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;
$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;
if(function_exists("imagecopyresampled"))
{
$newim = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
else
{
$newim = imagecreate($newwidth,$newheight);
imagecopyresized($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
$name = $name.$filetype;
imagejpeg($newim,$name);
imagedestroy($newim);
}
else
{
$name = $name.$filetype;
imagejpeg($im,$name);
} 
}

以上代码内容是小编给大家介绍的基于PHP实现等比压缩图片大小的相关内容,代码简单易懂,哪里写的不好,欢迎各位大侠多多提出宝贵意见,小编非常乐意。

PHP 相关文章推荐
用文本文件制作留言板提示(下)
Oct 09 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
PHP empty函数报错解决办法
Mar 06 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
PHP向socket服务器收发数据的方法
Jan 24 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
php多线程实现方法及用法实例详解
Oct 26 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 #PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 #PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
Mar 04 #PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 #PHP
PHP生成和获取XML格式数据的方法
Mar 04 #PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 #PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 #PHP
You might like
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
PHP使用数组实现队列
2012/02/05 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
js函数内变量的作用域分析
2015/01/12 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
策划总监岗位职责
2014/02/16 职场文书
地方白酒代理协议书
2014/10/25 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android