我正在创建一个图像调整器方法以使图像适合最大尺寸(最大宽度和最大高度)。我正在使用以下方法来计算目标尺寸。如果宽度大于最大宽度,我将宽度设置为最大宽度并计算高度,然后使用这个简单的数学公式对高度再次执行此操作:
(宽度/高度)=(最大宽度/最大高度)
但是,调整大小的图像在调整大小时似乎没有正确的尺寸。我的方法是这样的:
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));
}
你能告诉我我哪里错了吗?为什么这不起作用?