使用MaxHeight和MaxWidth约束按比例调整图像大小

使用System.Drawing.Image

如果图像的宽度或高度超过最大值,则需要按比例调整大小。调整大小后,需要确保宽度或高度均不超过限制。

宽度和高度将自动调整大小,直到不超过最大值和最小值(可能的最大尺寸),并保持该比例。

回答:

像这样?

public static void Test()

{

using (var image = Image.FromFile(@"c:\logo.png"))

using (var newImage = ScaleImage(image, 300, 400))

{

newImage.Save(@"c:\test.png", ImageFormat.Png);

}

}

public static Image ScaleImage(Image image, int maxWidth, int maxHeight)

{

var ratioX = (double)maxWidth / image.Width;

var ratioY = (double)maxHeight / image.Height;

var ratio = Math.Min(ratioX, ratioY);

var newWidth = (int)(image.Width * ratio);

var newHeight = (int)(image.Height * ratio);

var newImage = new Bitmap(newWidth, newHeight);

using (var graphics = Graphics.FromImage(newImage))

graphics.DrawImage(image, 0, 0, newWidth, newHeight);

return newImage;

}

以上是 使用MaxHeight和MaxWidth约束按比例调整图像大小 的全部内容, 来源链接: utcz.com/qa/419945.html

回到顶部