画像を最大サイズ (最大幅と最大高さ) に合わせるための画像サイズ変更メソッドを作成しています。次の方法を使用して、ターゲットの寸法を計算しています。幅が max-width よりも大きい場合は、幅を max-width に設定して高さを計算し、次の簡単な数式を使用して高さを計算します。
(幅 / 高さ) = (最大幅 / 最大高さ)
しかし、サイズ変更された画像は、サイズ変更されたときに正しい寸法ではないようです。私の方法はこれです:
private static Size CalculateDimensions(Size currentSize, double maxWidth, double maxHeight) {
double width = currentSize.Width,
height = currentSize.Height;
if (width > maxWidth) {
width = maxWidth;
height = width * maxHeight / maxWidth;
}
if (height > maxHeight) {
height = maxHeight;
width = height * maxWidth / maxHeight;
}
return new Size(Convert.ToInt32(width), Convert.ToInt32(height));
}
どこが間違っているのか教えてもらえますか? なぜこれが機能しないのですか?