PHP 实现等比压缩图片尺寸和大小实例代码

yipeiwu_com6年前PHP代码库

废话不多说了,直接给大家贴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);
}
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

Linux Apache PHP Oracle 安装配置(具体操作步骤)

Oracle 就不说了,Linux 是 CentOS。1. 安装 httpd(apache)yum install httpd -y 2. 安装 php, php-gd, php-mcr...

php求数组全排列,元素所有组合的方法总结

本文实例讲述了php求数组全排列,元素所有组合的方法总结。 分享给大家供大家参考,具体如下: <?php $source = array('pll','我','爱',...

如何使用php绘制在图片上的正余弦曲线

以前用actionscript写动态绘制三角函数曲线,其实php输出三角函数曲线也很简单。复制代码 代码如下:<?php define("MAX_WIDTH_PIXEL"...

php+curl 发送图片处理代码分享

//上传页面代码 $url = "http://192.168.1.100/upload.php?lang=cn"; #可以get传相应参数 $file = $p...

利用PHP访问带有密码的Redis方法示例

一、首先设置Redis密码,以提供远程登陆 打开redis.conf配置文件,找到requirepass,然后修改如下: requirepass yourpassword you...