• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现图片等比例缩放代码并且不是失真的方法

php 搞代码 3年前 (2022-01-22) 30次浏览 已收录 0个评论

本文给大家分享的是使用php实现的图片等比例缩放的代码,小伙伴们可以将其集成到图片上传中去,有需要的童鞋可以参考下。

新建文件index.php,需要在统计目录下有个图片为q.jpg(可根据源码进行更改图片的名称)

源代码如下:

<?php$filename="q.jpg";$per=0.3;list($width, $height)=getimagesize($filename);$n_w=$width*$per;$n_h=$height*$per;$new=imagecreatetruecolor($n_w, $n_h);$img=imagecreatefromjpeg($filename);//拷贝部分图像并调整imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);//图像输出新图片、另存为imagejpeg($new, "q1.jpg");imagedestroy($new);imagedestroy($img);?>

使用浏览器运行过后,在index.php同级的目录下会有个q1.jpg,这个图片就是等比例缩放后的图片,路径可以自己在源代码里面更改,放在自己的项目当中去或写个方法也行


有时上传图片时因为图片太大了,不仅占用空间,消耗流量,而且影响浏(图片的尺寸大小不一)。下面分享一种等比例不失真缩放图片的方法,这样,不管上传的图片尺有多大,都会自动压缩到我们设置尺寸值的范围之内。经过测试,证明实用。

<?phpfunction resizeImage($im,$maxwidth,$maxheight,$name,$filetype) { $pic_width = imagesx($im); $pic_height = imagesy($im); if(($m<i style="color:transparent">本#文来源gaodai$ma#com搞$$代**码网$</i><button>搞代gaodaima码</button>axwidth && $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);//PHP系统函数   imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);//PHP系统函数  }  else  {  $newim = imagecreate($newwidth,$newheight);   imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);  }  $name = $name.$filetype;  imagejpeg($newim,$name);  imagedestroy($newim); } else {  $name = $name.$filetype;  imagejpeg($im,$name); } }//使用方法:$im=imagecreatefromjpeg("./20140416103023202.jpg");//参数是图片的存方路径$maxwidth="600";//设置图片的最大宽度$maxheight="400";//设置图片的最大高度$name="123";//图片的名称,随便取吧$filetype=".jpg";//图片类型resizeImage($im,$maxwidth,$maxheight,$name,$filetype);//调用上面的函数

以上就是php实现图片等比例缩放代码并且不是失真的方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现图片等比例缩放代码并且不是失真的方法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址