2009-11-13 3 views
2

사용자가 이미지를 업로드하면 엄지 손가락을 만들 때 그 이미지의 종횡비를 어떻게 얻을 수 있는지 궁금합니다. 나는 너비가 180px가 될 것이지만 높이를 어떻게 얻을 수 있는지 알고있다.PHP를 사용하여 이미지 종횡비를 얻는 방법은 무엇입니까?

다음 코드는 여기에 있습니다.

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

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

답변

2

는 동일한 화면 비율을

유지하려는

그래서 180 폭 어떤 높이하지만 원래 같은 비율로 당신에게 사진을 줄 것이라고 $modheight = ((180.0/$width) * $height);

같은.

+0

방법에 대한 최대 폭 및 최대 높이로? – GianFS

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); 
} 
+0

이미지 폭이 180px보다 크지 않은 경우 180px보다 큰 너비의 이미지 크기를 조정하려고합니다. 이미지를 그대로 유지하십시오. 엄지 손가락을 만들기 위해. 말이 돼? – ImAGe

+1

잘 보입니다. x/zero를 확인하십시오! – echo

+0

사이즈 확인에 추가했습니다. 첫 번째 예제에서는 방향 및 크기를 $ targetize보다 크지 않은지 확인하고 두 번째 크기는 $ targetize와 넓은 방향을 비교합니다. – Rob

관련 문제