2
最大裁剪區域是否有任何PHP/GD函數,可以計算這樣的:對於給定的圖像和縱橫比
輸入:圖像寬度,圖像的高度和縱橫比兌現。輸出: 最大居中作物方面給定的縱橫比 (儘管圖像的原始縱橫比)。
例如:圖像是1000x500,a.r.是1.25:最大作物是625x500。圖像是100x110,最大裁剪是:80x110。
最大裁剪區域是否有任何PHP/GD函數,可以計算這樣的:對於給定的圖像和縱橫比
輸入:圖像寬度,圖像的高度和縱橫比兌現。輸出: 最大居中作物方面給定的縱橫比 (儘管圖像的原始縱橫比)。
例如:圖像是1000x500,a.r.是1.25:最大作物是625x500。圖像是100x110,最大裁剪是:80x110。
沒有函數,計算這一點,因爲這是基本的數學:
$imageWidth = 1000;
$imageHeight = 500;
$ar = 1.25;
if ($ar < 1) { // "tall" crop
$cropWidth = min($imageHeight * $ar, $imageWidth);
$cropHeight = $cropWidth/$ar;
}
else { // "wide" or square crop
$cropHeight = min($imageWidth/$ar, $imageHeight);
$cropWidth = $cropHeight * $ar;
}
謝謝。我花了幾分鐘的時間來到你的代碼之類的東西(但你的解決方案更加優雅)。是的,初級但有用。 – Polmonino 2011-12-17 00:00:24