PHP kullanarak görüntüleri boy oranını almak nasıl?

2 Cevap

Bir kullanıcı başparmak oluştururken nasıl bu görüntünün en boy oranını alabilirsiniz bir görüntü yükler merak ediyordum. Ben genişlik 180px olacağını biliyorum ama nasıl yüksekliği alabilirsiniz.

İşte ben bugüne kadar aşağıda listelenen var kodudur.

list($width, $height) = getimagesize($file) ;

if ($width >= 180){
	$modwidth = 180;
	$modheight = ;
} else {
	$modwidth = $width;
	$modheight = $height;
}

2 Cevap

Eğer aynı boy oranını korumak istiyorsanız

böylece $modheight = ((180.0/$width) * $height); gibi bir şey

size 180 geniş ve ne olursa olsun yüksekliği ile değil, orijinal olarak aynı orana sahip bir resim verecek.

Eğer böyle bir şey yapmaya çalışıyorsun?

$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);
}

Ama her zaman ne olursa olsun fotoğraf portre olup olmadığını 180 geniş isterseniz:

$targetwidth = $x = $y = 180;
list($width, $height) = getimagesize($file);

if($width > $targetsize) {
    $aspect = $width / $height;
    $y *= $aspect;

    resizeImageFunctionHere($file, $x, $y);
}