您的位置:

php图片按比例缩放,php缩小图片

本文目录一览:

php等比缩放图片,就是只按宽度缩小图片,当图片宽度大于750时就缩小到750 高度不用管 跟着宽度缩就行了

首先说一下思路,首先你要判断图片的宽度,这需要用到一个函数,个人比较喜欢用getimagesize()

其次是等比例绽放,需要用到imagecopyresized(当然还有其他函数)

注意:我这里用到的是gd库

实现:

写一个函数或者类都行,我这里就以面向过程的方式来写,你可以整理一下

$file = 'pic.jpg'; //原图片文件

$maxWidth = 750;

$info = getimagesize($file); //取得一个图片信息的数组,索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记

if($info[0] $maxWidth )

{

exit('图片小于'.$maxWidth.',不需要缩放');

}

$im = imagecreatefromjpeg($file); //根据图片的格式对应的不同的函数,在此不多赘述。

$rate = $maxWidth/$info[0]; //计算绽放比例

$maxHeight = floor($info[1]*$rate); //计算出缩放后的高度

$des_im = imagecreatetruecolor($maxWidth,$maxHeight); //创建一个缩放的画布

imagecopyresized($des_im,$im,0,0,0,0,$maxWidth,$maxHeight,$info[0],$info[1]); //缩放

imagejpeg($des_im,'thumb.jpg'); //输出到thumb.jpg即为一个缩放后的文件

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,这个图片就是等比例缩放后的图片,路径可以自己在源代码里面更改,放在自己的项目当中去或写个方法也行

以上所述上就是本文的全部内容了,希望对大家学习php语言能够有所帮助。

PHP等比例压缩图片的实例代码

具体代码如下所示:

/**

*

desription

压缩图片

*

@param

sting

$imgsrc

图片路径

*

@param

string

$imgdst

压缩后保存路径

*/

public

function

compressedImage($imgsrc,

$imgdst)

{

list($width,

$height,

$type)

=

getimagesize($imgsrc);

$new_width

=

$width;//压缩后的图片宽

$new_height

=

$height;//压缩后的图片高

if($width

=

600){

$per

=

600

/

$width;//计算比例

$new_width

=

$width

*

$per;

$new_height

=

$height

*

$per;

}

switch

($type)

{

case

1:

$giftype

=

check_gifcartoon($imgsrc);

if

($giftype)

{

header('Content-Type:image/gif');

$image_wp

=

imagecreatetruecolor($new_width,

$new_height);

$image

=

imagecreatefromgif($imgsrc);

imagecopyresampled($image_wp,

$image,

0,

0,

0,

0,

$new_width,

$new_height,

$width,

$height);

//90代表的是质量、压缩图片容量大小

imagejpeg($image_wp,

$imgdst,

90);

imagedestroy($image_wp);

imagedestroy($image);

}

break;

case

2:

header('Content-Type:image/jpeg');

$image_wp

=

imagecreatetruecolor($new_width,

$new_height);

$image

=

imagecreatefromjpeg($imgsrc);

imagecopyresampled($image_wp,

$image,

0,

0,

0,

0,

$new_width,

$new_height,

$width,

$height);

//90代表的是质量、压缩图片容量大小

imagejpeg($image_wp,

$imgdst,

90);

imagedestroy($image_wp);

imagedestroy($image);

break;

case

3:

header('Content-Type:image/png');

$image_wp

=

imagecreatetruecolor($new_width,

$new_height);

$image

=

imagecreatefrompng($imgsrc);

imagecopyresampled($image_wp,

$image,

0,

0,

0,

0,

$new_width,

$new_height,

$width,

$height);

//90代表的是质量、压缩图片容量大小

imagejpeg($image_wp,

$imgdst,

90);

imagedestroy($image_wp);

imagedestroy($image);

break;

}

}

总结

以上所述是小编给大家介绍的PHP等比例压缩图片的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:php中10个不同等级压缩优化图片操作示例PHP

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

gd等比例缩放压缩图片函数基于PHP实现等比压缩图片大小php上传图片并压缩的实现方法PHP实现图片上传并压缩PHP实现图片压缩的两则实例php使用imagick模块实现图片缩放、裁剪、压缩示例

如何实现php图片等比例缩放

$imgsrc=$image_name;

$imgdst=$image_name;

list($width,$height,$type)=getimagesize($imgsrc); 

$new_width = ($width600?600:$width)*0.9; 

$new_height =($height600?600:$height)*0.9; 

$giftype=check_gifcartoon($imgsrc); 

$image_wp=imagecreatetruecolor($new_width, $new_height); 

$image = imagecreatefromgif($imgsrc); 

imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 

imagejpeg($image_wp, $imgdst,75); 

imagedestroy($image_wp);