0
WideImage 라이브러리를 사용하여 가로 세로 비율을 유지하면서 미리 정의 된 최대 크기로 이미지의 크기를 조정하려고합니다.WideImage PHP 라이브러리를 사용하여 이미지의 크기를 조정할 때 화면 비율 유지
예 :
최대 허용 Dimesions : 200x200 크기
입력 이미지 크기 : 300x200으로 로고 (1.5 : 1 비율),
전류 출력 이미지 크기 : 200x200 크기
예상 출력 이미지 크기 : 200x133 (종횡비 1.5 : 1).
현재 종횡비가 변경되면 이미지가 왜곡됩니다. 가로 세로 비율을 유지하려면 어떻게해야합니까?
아래 코드를 사용하고 있습니다.
$targetWidth = 200;
$targetHeight = 200;
$sourceRatio = $sourceWidth/$sourceHeight;
$targetRatio = $targetWidth/$targetHeight;
if ($sourceRatio < $targetRatio) {
$scale = $sourceWidth/$targetWidth;
} else {
$scale = $sourceHeight/$targetHeight;
}
$resizeWidth = (int)($sourceWidth/$scale);
$resizeHeight = (int)($sourceHeight/$scale);
$img->resize($resizeWidth, $resizeHeight)
PS : 나는이 간단한 논리가 내 도움에 와서 Resize image without distortion keeping aspect ratio then crop excess using WideImage
왜 투표가 다운 되었습니까? plz는 명확하지 않은 것이 있으면 설명합니다. 나는 전문가가 아니다. – Purus
문제를 이해할 수 없습니다. 문서에서 : "기본적으로 크기를 조정하면 원본 이미지의 종횡비가 유지되고 결과 이미지는 내부의 지정된 크기에 맞습니다." 따라서 $ img-> resize (200,200)이면 충분합니다. – user276648
아니요. 당신이 말한대로하지 않겠습니다. – Purus