我确信这个话题已被讨论了很多次,我从昨天晚上开始这样做,但到现在还没有完全满意。我使用下面的代码,它给了我一个调整大小的图像,但缩放不正确。高度和宽度不是正确的比例。
我找不到像jsfiddle这样的好小提琴,你可以看到输出,所以在这里粘贴我的代码。
您可以在此处查看原始图片网址,我也附上了已调整大小的图片。
http://distilleryimage4.s3.amazonaws.com/b1da08e4484511e38e4d0a7011810191_7.jpg
$filename = 'http://distilleryimage4.s3.amazonaws.com/b1da08e4484511e38e4d0a7011810191_7.jpg';
//the resize will be a percent of the original size
$percent = 0.589;
$percent_height = 0.294;
// Content type
header('Content-Type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent_height;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($thumb);
imagedestroy($thumb);
答案 0 :(得分:2)
这基本上是一个数学问题:
您正在将宽度和高度缩放到不同的比例($percent
和$percent_height
)。您应该将它们(宽度和高度)按相同的百分比缩放,以使图像的大小调整为相同的比例。也许我不明白你的问题,但我认为你应该改变这一行:
$newheight = $height * $percent_height;
到
$newheight = $height * $percent;
(如果我们不在这里使用它,请删除$percent_height = 0.294;
)
答案 1 :(得分:0)