您的位置:

php图像等比缩放代码,php图像等比缩放代码大全

本文目录一览:

php图片可以等比例的缩放吗

可以。

等比例缩放的方法是:

1、载入选区--自由变换。如下图:

2、按住shift+alt键,使用鼠标调整大小,这种情况下,选区会按照等比例的方法进行缩放的。

php如何实时缩小图片大小

PHP中缩放图像:

有两种改变图像大小的方法.

(1):ImageCopyResized() 函数在所有GD版本中有效,但其缩放图像的算法比较粗糙.

(2):ImageCopyResampled(),其像素插值算法得到的图像边缘比较平滑.质量较好(但该函数的速度比

ImageCopyResized() 慢).

两个函数的参数是一样的.如下:

ImageCopyResampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);

ImageCopyResized(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);

   它们两个都是从原图像(source)中抓取特定位置(sx,sy)复制图像qu区域到目标t

图像(destination)的特定位置(dx,dy)。另外dw,dh指定复制的图像区域在目标图像上的大小,sw,sh指定从原图像复制的图像区域

的大小。如果有ps经验的话,就相当于在原图像选择一块区域,剪切移动到目的图像上,同时有拉伸或缩小的操作。

例一:

(本例子是将图片按原大小的4/1的大小显示)

?php

// 指定文件路径和缩放比例

$filename = 'test.jpg';

$percent = 0.5;

// 指定头文件Content typezhi值

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

// 获取图片的宽高

list($width, $height) = getimagesize($filename);

$newwidth = $width * $percent;

$newheight = $height * $percent;

// 创建一个图片。接收参数分别为宽高,返回生成的资源句柄

$thumb = imagecreatetruecolor($newwidth, $newheight);

//获取源文件资源句柄。接收参数为图片路径,返回句柄

$source = imagecreatefromjpeg($filename);

// 将源文件剪切全部域并缩小放到目标图片上。前两个为资源句柄

imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth,

$newheight, $width, $height);

// 输出给浏览器

imagejpeg($thumb);

?

PHP中缩放图像的问题

是不是。。就是额外拷贝一份。。。

“缩小图像“应该只是图像参数的变化吧。。。“白色的图片“可能先要连接到你的图像src,然后根据实时参数进行相同的调整。。。

----------------------------------------------------------------------

1."方框中的任意部分,就可以进入"----可不可以用area/area

2.缩放的图片可不可以作为一个layer覆盖在方框上,实现layer的话就比如z-index等于大于0的值

3.当你点击方框的时候。。callback点击缩放的图片。。。。。

-------------------------------------------------------

晕。。。真的呀!!!!

我想是3个办法的。。可能第三个最practice。。。。。

就是你不是有方框嘛。。你的方框的触发函数--比如onclick转而去调用你的“缩小图像“的对应的事件--我觉得正常可能也是onclick。。。 有点callback的味道。。。callback就是我们说的回调。。。

方框说:你敢点我。。我就点“缩小图像“

是吧。。。你觉得呢。。。。

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等比例压缩图片的实例代码

具体代码如下所示:

/**

*

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将图片缩放到原来的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{

}