如何使用php等比例缩放图片

yipeiwu_com6年前PHP代码库

本文介绍了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[1]);
//销毁原始图片
 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的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之……   一、数组定义:   数组的定义使用 array()方...

使用php判断网页是否gzip压缩

昨天晚上群里有朋友采集网页时发现file_get_contents 获得的网页保存到本地为乱码,响应的header 里 Content-Encoding:gzip但在浏览器里看是正常的。...

PHP递归实现汉诺塔问题的方法示例

本文实例讲述了PHP递归实现汉诺塔问题的方法。分享给大家供大家参考,具体如下: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱...

php和html的区别点详细总结

今天我来和大家讨论下关于PHP技术的另一个简单小问题,就是PHP代码和HTML代码的区别在哪里。 其实,如果简单的说,大家都知道,HTML是典型的静态网络编程用语,而PHP则是一种可实现...

php inc文件使用的风险和注意事项

数据库使用中需要关注的主要问题之一是访问权限即用户名及密码的暴露。在编程中为了方便,一般都会用一个db.inc文件保存,如:复制代码 代码如下:<?php $db_use...