您的位置:

php图片比例缩小,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实现图片等比例缩放代码

新建文件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将图片缩放到原来的1/2

//如果是JPG格式,则生成一个同比例的缩小图

$file="xxx.jpg";

$extend_name=strtolower(substr(strrchr($file,"."),1));

if($extend_name=='jpg'){

$image = imagecreatefromjpeg($full_name);//取原图的数据

}

//如果是gif格式,则生成一个同比例的缩小图

if($extend_name=='gif'){

$image = imagecreatefromgif($full_name);//取原图的数据

}

//如果是png格式,则生成一个同比例的缩小图

if($extend_name=='png'){

$image = imagecreatefrompng($full_name);//取原图的数据

}

//echo $full_name.$full_name_small;

$size=GetImageSize($full_name);

$x=$size[0];

$y=$size[1];

//echo $x." _ ".$y;

//假设首页上的图都是250象素左右,如果缩成150则图像失真太严重,则把所有的图都按这个大小进行等比缩放

//计算缩小比例

$rate=1/2;

$small_x=$size[0]*$rate;

$small_y=$size[1]*$rate;

$small_image = imagecreatetruecolor($small_x, $small_y);

imageCopyResampled($small_image,$image,0,0,0,0,$small_x,$small_y,$x,$y);

if(imagejpeg($small_image,$full_name_small)){

ImageDestroy($small_image);

}else{

}

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);

}

}