我正在创建一个图片缩放的方法,以适应最大尺寸(max-width和max-height)。我使用以下方法来计算目标尺寸。如果宽度大于 max-width, 我将宽度设置为 max-width,然后计算高度,接着再对高度进行同样的操作。使用这个简单的数学公式:
但是,改变大小后的图像似乎并没有正确的尺寸。我的处理方法如下:(width / height) = (maxWidth / maxHeight)
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));
}
你能告诉我哪里错了吗?为什么这个不起作用?