php图片缩放和裁剪

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

php图片缩放和裁剪

quan9i   2022-05-23 我要评论

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

总结 

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们