我想知道用户是否上传图片,如何在创建拇指时获得该图片的宽高比。我知道我的宽度将是180px,但我怎样才能达到高度。
以下是我目前列出的代码。
list($width, $height) = getimagesize($file) ;
if ($width >= 180){
$modwidth = 180;
$modheight = ;
} else {
$modwidth = $width;
$modheight = $height;
}
答案 0 :(得分:3)
你想做这样的事吗?
$targetsize = $x = $y = 180;
list($width, $height) = getimagesize($file);
if($width > $targetsize || $height > $targetsize) {
$aspect = $width / $height;
if($aspect < 1) $x *= $aspect; // portrait
else $y /= $aspect; // landscape
resizeImageFunctionHere($file, $x, $y);
}
但是如果你总是想要180宽,无论照片是否是肖像:
$targetwidth = $x = $y = 180;
list($width, $height) = getimagesize($file);
if($width > $targetsize) {
$aspect = $width / $height;
$y *= $aspect;
resizeImageFunctionHere($file, $x, $y);
}
答案 1 :(得分:2)
你想保持相同的宽高比
类似于$modheight = ((180.0/$width) * $height);
它会给你一张180宽的照片和任何高度,但比例与原来相同。