具有正确宽高比的动态缩略图

时间:2013-02-11 13:42:40

标签: php image thumbnails

我试图为我的图片上传脚本创建缩略图,我成功了!但我遇到了一个小问题。如果您熟悉缩略图,我会使用pixlie创建缩略图。 我试图获得相同的大小和效果,就像我使用style="width:200px; height:auto;" 我想保持缩略图的长宽比,我还没有完全。

到目前为止我的代码是(我不确定我的“数学”):

$img = imagecreatefromjpeg($uploaddir);
$width = imagesx($img); //get width and height of original image
$height = imagesy($img);
$maxwidth = '200';

//scaling
if ($height < $width) {
  $ratio = $height / $width;   
  $newheight = $ratio * $height;   
  $newwidth = $maxwidth;  
}
elseif ($height > $width) {
  $ratio = $height / $width;
  $newheight = $ratio * $maxwidth;
  $newwidth = $maxwidth;
}

require_once('Pixlie.php');

$pixlie = new Pixlie();
$pixlie->setCache(new PixlieFileCache('thumbnail_img/'));
$thumbnail = new PixlieRenderOptions();
$thumbnail->setWidth($newwidth);
$thumbnail->setHeight($newheight);
$image = $pixlie->render("$uploaddir", $thumbnail);

如果你不熟悉pixlie,可能很难帮助我。但也许你可以帮我算数,或者你可能有比pixlie更好的东西.. idk。 (有些拇指正在重新调整大小,但其他人变得真实......长方形......?)

预先感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

嗯......你确定没有最大高度?要获得正确的宽高比,这应该没问题:

// Scaling
$newwidth = $maxwidth;
$ratio = $width / $height;
$newheight = $newwidth / ratio;

所以宽度总是200,相应的高度。