基于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网站备份程序代码分享
Jun 10 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
smtp邮件发送一例
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
JS中的异常处理方法分享
2013/12/22 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
使用JavaScript刷新网页的方法
2015/06/04 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
如何在vue中使用ts的示例代码
2018/02/28 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
演讲稿开场白
2014/01/13 职场文书
安全资金保障制度
2014/01/23 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
激励口号大全
2014/06/17 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
介绍信范文
2015/01/31 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
Python与C++中梯度方向直方图的实现
2022/03/17 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python