php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高。

1、imagecopyresampled的使用

1、目标函数资源

2、源图像资源<要采样的图片资源>

3、x(0,0指图左上角)

4、y(x,y确定一个坐标,坐标确定了把采样的部分放到目标图像资源的位置)

5、源x(0,0指图右上角)

6、源y(源x与源y确定一个坐标,你要采用的原图像资源的某个部分的起始位置)

7、w

8、h(weight与height确定了放到目标图像资源上面的尺寸)

9、源w

10、源h(源w与源h确定了采样原图像资源的某个部分)

2、$height=$width/($imgWidth/$imgHeight);使得图片整体不会被裁剪,缩放代码只需控制width即可

<?php
header('Content-type:image/jpeg');
$width=300;
$img=imagecreatefromjpeg('1/php1.jpg');
$imgWidth=imagesx($img);
$imgHeight=imagesy($img);
$height=$width/($imgWidth/$imgHeight);
$img1=imagecreatetruecolor(500,500);
imagecopyresampled($img1,$img,100,100,100,100,$width,$height,$imgWidth,$imgHeight);
imagejpeg($img1);
imagedestroy($img1);
imagedestroy($img);

<?php
header('Content-type:image/jpeg');
$width=200;
$img=imagecreatefromjpeg('1/php1.jpg');
$imgWidth=imagesx($img);
$imgHeight=imagesy($img);
$height=$width/($imgWidth/$imgHeight);
$img1=imagecreatetruecolor(500,500);
imagecopyresampled($img1,$img,100,100,100,100,$width,$height,$imgWidth,$imgHeight);
imagejpeg($img1);
imagedestroy($img1);
imagedestroy($img);

3、控制x、y与源x、源y可以进行裁剪

<?php
header('Content-type:image/jpeg');
$width=500;
$img=imagecreatefromjpeg('1/php1.jpg');
$imgWidth=imagesx($img);
$imgHeight=imagesy($img);
$height=$width/($imgWidth/$imgHeight);
$img1=imagecreatetruecolor(500,500);
imagecopyresampled($img1,$img,0,0,300,300,$width,$height,$imgWidth,$imgHeight);
imagejpeg($img1);
imagedestroy($img1);
imagedestroy($img);

<?php
header('Content-type:image/jpeg');
$width=500;
$img=imagecreatefromjpeg('1/php1.jpg');
$imgWidth=imagesx($img);
$imgHeight=imagesy($img);
$height=$width/($imgWidth/$imgHeight);
$img1=imagecreatetruecolor(500,500);
imagecopyresampled($img1,$img,330,330,0,0,$width,$height,$imgWidth,$imgHeight);
imagejpeg($img1);
imagedestroy($img1);
imagedestroy($img);

总结 

到此这篇关于php图片缩放和裁剪的文章就介绍到这了,更多相关php图片缩放和裁剪内容请搜索阿兔在线工具以前的文章或继续浏览下面的相关文章希望大家以后多多支持阿兔在线工具!

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部