【问题标题】:Dynamic thumbnail with correct aspect ratio具有正确纵横比的动态缩略图
【发布时间】:2013-02-11 13:42:40
【问题描述】:

我正在尝试为我的图片上传脚本创建缩略图,我成功了!但我有一个小问题。如果您熟悉它,我使用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。 (有些拇指的大小调整得非常好,但其他拇指变得真实......长方形......?)

在此先感谢您提供的任何帮助。

【问题讨论】:

    标签: php image thumbnails


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      相关资源
      最近更新 更多