2

我正在使用 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');
}
4

1 回答 1

3

我正在使用以下计算来计算比率:

$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));
于 2014-09-07T11:30:55.077 回答