PHP 等比例缩放图片详解及实例代码

yipeiwu_com6年前PHP代码库

直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。代码都备注了,不懂可以留言哈哈

<?php 

//压缩图片 缩略图

$src= "xiezheng.jpg";
$newwid=640;
$newhei= 480;
function imgzip($src,$newwid,$newhei){
 $imgInfo = getimagesize($src);

 $imgType = image_type_to_extension($imgInfo[2], false);

 $fun = "imagecreatefrom{$imgType}";

//声明图片 打开图片 在内存中
 $image = $fun($src);
//方便配置长度宽度、高度,设置框为变量wid,高度为hei
 $wid=$imgInfo[0];
 $hei=$imgInfo[1];
//判断长度和宽度,以方便等比缩放,规格按照500, 320
 if($wid>$hei){
  $wid=$newwid;
  $hei=$newwid/($wid/$hei);
 }else {
  $wid = $newhei * ($wid / $hei);
  $hei = $newhei;
 }

//在内存中建立一张图片
 $images2 = imagecreatetruecolor($newwid, $newhei); //建立一个500*320的图片

//将原图复制到新建图片中
//imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)

 imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[0]);

//销毁原始图片
 imagedestroy($image);


//直接输出图片文件

 header("Content-type: ".$imgInfo[‘mime‘]);
 imagejpeg($images2);

//保存图片 到新文件
 imagejpeg($images2, ‘new.jpg‘, 100); //10代码输出图片的质量 0-100 100质量最高

//销毁
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);


?>

 效果

压缩前

压缩后

以上就是对PHP 等比例缩放图片的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

相关文章

PHP正则匹配中英文、数字及下划线的方法【用户名验证】 原创

本文实例讲述了PHP正则匹配中英文、数字及下划线的方法。分享给大家供大家参考,具体如下: 一、问题: 对于用户注册时的用户名要求由中英文、数字或下划线组成,不得含有其他字符。 二、解决方...

php 字符串中是否包含指定字符串的多种方法

编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便。 strpos() 函数...

php中使用preg_replace函数匹配图片并加上链接的方法

介绍:preg_replace 执行正则表达式的搜索和替换,如果只是单纯的匹配字符串建议使用str_replace(),因为其执行效率高的多。mixed preg_replace ( m...

php生出随机字符串

本文实例为大家分享了php生出随机字符串的具体代码,供大家参考,具体内容如下 function generateRandomString($length = 10) { $ch...

php实现获取农历(阴历)、节日、节气的类与用法示例

本文实例讲述了php实现获取农历(阴历)、节日、节气的类与用法。分享给大家供大家参考,具体如下: <?php /* * 农历 节气 节日 */ header("Co...