如何处理意外的宽度和高度



我目前正在使用以下代码将所有大于800x600的图像重新调整为所需大小。

if (($width>800) and ($height>600))
{
WideImage::load($img_path.$name)->resize(800, 600)->saveToFile($img_path.$name);
}

然而,如果例如图像的宽度为1024,高度为559,则这将不起作用
我可以使用或,但我不确定如何调整这些图像的大小。

我一直发现调整图像大小最可靠的方法是使用高宽比。

伪码看起来是这样的:

$widthRatio=$originalImageHeight/$originalImageWidth;
$newImage=resize(800, 800*$widthRatio);

这将调整其大小为800,同时保持原始比例。

此外,您可能需要设置或至少检查比例,这样您就不会上传1000 x 20000的图像,如果您将其调整为800 x 16000 ,这仍然会扰乱您的网站

最新更新