c# 将图像大小调整为不同大小,同时保留纵横比

作者:编程家 分类: c++ 时间:2025-07-15

使用C#可以轻松地调整图像的大小,同时保持其原始的纵横比。无论您是想将图像缩小还是放大,只需几行代码就可以实现这一目标。下面将为您展示如何使用C#来调整图像的大小,并提供一个简单的案例代码。

案例代码:

csharp

using System;

using System.Drawing;

namespace ImageResizeExample

{

class Program

{

static void Main(string[] args)

{

// 加载图像

Image image = Image.FromFile("original_image.jpg");

// 定义目标宽度和高度

int targetWidth = 800;

int targetHeight = 600;

// 计算调整后的宽度和高度,保持纵横比

int newWidth, newHeight;

if ((double)image.Width / image.Height > (double)targetWidth / targetHeight)

{

newWidth = targetWidth;

newHeight = (int)(((double)targetWidth / image.Width) * image.Height);

}

else

{

newWidth = (int)(((double)targetHeight / image.Height) * image.Width);

newHeight = targetHeight;

}

// 创建调整后大小的图像

Image resizedImage = new Bitmap(newWidth, newHeight);

// 绘制调整后的图像

using (Graphics graphics = Graphics.FromImage(resizedImage))

{

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

}

// 保存调整后的图像

resizedImage.Save("resized_image.jpg");

// 释放资源

image.Dispose();

resizedImage.Dispose();

Console.WriteLine("图像大小调整完成!");

}

}

}

以上是一个简单的图像大小调整的例子。首先,我们加载了一个名为"original_image.jpg"的图像。然后,我们定义了目标宽度和高度,这里设定为800x600。接下来,我们计算调整后的宽度和高度,以保持图像的纵横比。然后,我们创建一个与目标大小相匹配的新图像,并使用Graphics类将原始图像绘制到新图像上。最后,我们保存调整后的图像,并释放所有使用的资源。

调整图像大小并保留纵横比的原理

调整图像大小并保留纵横比的原理很简单。我们可以根据目标宽度和高度与原始图像的宽度和高度之间的比例关系来计算调整后的图像的宽度和高度。如果原始图像的宽高比大于目标宽高比,我们将目标宽度设置为新宽度,然后按比例调整高度。如果原始图像的宽高比小于目标宽高比,我们将目标高度设置为新高度,然后按比例调整宽度。这样,我们就可以保持图像的纵横比。

通过使用C#,我们可以轻松地调整图像的大小,并保持其原始的纵横比。无论您是想缩小图像还是放大图像,只需几行代码就可以实现这一目标。希望这篇文章对您有所帮助,让您能更好地掌握C#中调整图像大小的技巧。