<?php
header("Content-Type:image/jpeg");
#缩放与裁剪图像
#imagecopyresampled 重采样拷贝部分图像并调整大小。
/*
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
$dst_image:新建的图片
$src_image:需要载入的图片
$dst_x:设定需要载入的图片在新图中的x坐标 类似margin-left
$dst_y:设定需要载入的图片在新图中的y坐标 类似margin-bottom
$src_x:设定载入图片要载入的区域x坐标 0即可,表示图像宽度完整载入
$src_y:设定载入图片要载入的区域y坐标 0即可,表示图像高度完整载入
$dst_w:设定载入的原图的宽度(在此设置缩放)
$dst_h:设定载入的原图的高度(在此设置缩放)
$src_w:原图要载入的宽度 如果不等比例设置,图像会被缩放或者扩大导致失真。 默认载入即可
$src_h:原图要载入的高度 如果不等比例设置,图像会被缩放或者扩大导致失真。 默认载入即可
*/
#案例1 等比例缩放
#由于剪切图像由于实际开发中,用处不是很大,所以直接就做等比例缩放。
#与css调整不同的是,等比例缩放后的图片图片质量会变。
#1 打开源图像
$imageSrc = imagecreatefromjpeg('1.jpg');
#2 计算源图像大小
$imageSrcWidth = imagesx($imageSrc);
$imageSrcHeight = imagesy($imageSrc);
$width = 200;
$height =$width/($imageSrcWidth/$imageSrcHeight);
#3 新建图像资源
#等比例缩放计算: width/height = imageSrcWidth/imageSrcHeight
$imageDst = imagecreatetruecolor($width, $height);
#imagecopyresampled(dst_image, src_image, dst_x, dst_y, src_x, src_y, dst_w, dst_h, src_w, src_h)
imagecopyresampled($imageDst, $imageSrc, 0, 0, 0, 0, $width, $height, $imageSrcWidth, $imageSrcHeight);
#4 输出图像
if(imagejpeg($imageDst)){
imagejpeg($imageDst,'1_1.jpg');
}
#5 释放资源
imagedestroy($imageSrc);
imagedestroy($image);
?>
附: