我正在 Zend Framework 2 中使用 Imagine 库:Imagine
我也想做的是制作一些图片作为我的图片页面的缩略图,也使其加载速度更快。 但问题是我不知道如何根据库中的比例调整大小。
有人知道如何按比例调整大小吗? 所以我想说图片宽度是300,它会自动计算高度。
这是我此时的代码:
public function resizeImage($photo , $width, $height)
{
$sm = $this->getServiceLocator();
$imagine = $sm->get('image_service');
$image = $imagine->open('public/img/gallery/album1/thumbnails/klj1.jpg');
$image->resize(new Box($width, $height));
$image->save('public/img/gallery/album1/thumbnails/klj1-thumb.jpg');
}
最佳答案
我使用以下计算来计算比率:
$size = $image->getSize();
if ($height < $width)
{
$divider = $size->getWidth() / $width;
$calcHeight = $size->getHeight() / $divider;
$calcWidth = $width;
} else {
$divider = $size->getHeight() / $height;
$calcWidth = $size->getWidth() / $divider;
$calcHeight = $height;
}
$image->resize(new Box($calcWidth, $calcHeight));
关于php - 想象一下 ZF2 : Ratio Resize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703532/