图像裁剪代码实现(等大小裁剪)
<?php
header('Content-type:image/jpeg');
$img=imagecreatefromjpeg('images/hai.jpg');
$img1=imagecreatetruecolor(500, 500);
imagecopyresampled($img1, $img, 100, 100, 0, 0, 200, 200, 200, 200);
/* 100:两个100确定了坐标,把采样的部分放到目标图像资源的什么位置
0:两个0确定了一个坐标,要采样的原图像资源的某个部分的起始坐标(左上面)
前两个200:确定了放到目标图像资源上面的尺寸,长度和宽度,如果长度和宽度比原始图像大则放大,否则缩小
后两个200:确定了采样原图像资源那部分的长度和高度 */
imagejpeg($img1);
imagedestroy($img);
imagedestroy($img1);
图像等比例裁剪代码实现
<?php
header('Content-type:image/jpeg');
$width=200;
$img=imagecreatefromjpeg('images/hai.jpg');
$imgWidth=imagesx($img);
$imgHeight=imagesy($img);
$height=$width/($imgWidth/$imgHeight);
$img1=imagecreatetruecolor($width, $height);
imagecopyresampled($img1, $img, 0, 0, 0, 0, $width, $height, $imgWidth, $imgHeight);
if(imagejpeg($img1)){
imagejpeg($img1,'images/hai_change.jpg'); //保存图片到文件夹
}
imagedestroy($img);
imagedestroy($img1);
有人可能会问CSS代码也可以实现图像的缩放,和php的图像缩放有什么不同呢?
CSS实现把大图片在浏览器端展示出小尺寸的图片,其实图片还是原来那么大,但php实现的图片缩小或放大真的缩小了图片的尺寸大小,较少的网络带宽的使用,比如之前是1200*1200像素的图像经过php缩小后就变成了200*200像素的图片了