使用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