基于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 相关文章推荐
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
PHP编程风格规范分享
Jan 15 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
利用“多说”制作留言板、评论系统
Jul 14 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
php图片上传类 附调用方法
May 15 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 05 PHP
php判断电子邮件是否正确方法
Dec 04 PHP
PHP XML Expat解析器知识点总结
Feb 15 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 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
小偷PHP+Html+缓存
2006/11/25 PHP
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
js保存当前路径(cookies记录)
2010/12/14 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
python解析xml文件操作实例
2014/10/05 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
PyQT实现多窗口切换
2018/04/20 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
Python调用C/C++的方法解析
2020/08/05 Python
python实现逻辑回归的示例
2020/10/09 Python
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
竞聘演讲稿范文
2014/01/12 职场文书
出生医学证明书
2014/09/15 职场文书
服务承诺书
2015/01/19 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
经费申请报告范文
2015/05/18 职场文书
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS