我确信这个话题已经讨论了多少次,我从昨天晚上开始这样做,但直到现在还没有完全满意。我使用下面的代码,它给了我一个调整大小的图像,但缩放比例不正确。高度和宽度不是正确的比例。调整大小的图像与确切的宽度和高度在php
我找不到像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);
许多感谢您的建议。它的工作。我做到了这一点,它给了我完美scaling.Is有任何方式我可以提到一个固定的高度和宽度的图像。 –
是的,但是当图像没有得到相同的宽度和高度(不是平方,而是矩形)时,它变得复杂。我猜你正在缩小比例。有一个功能用于减少大于1024 x 786的图片:http://pastebin.com/kWQE0PTK'$ maxW'和'$ maxH'是所需的最大尺寸,将它们更改为您需要的任何尺寸。将文件路径作为函数的唯一参数传递。它将返回一个包含原始“宽度”,“高度”和计算值的数组。希望你能从中吸取教训 – aleation
优秀的教程。现在好了。非常感谢。 –