📜  c# 从字节数组调整图像大小 - C# (1)

📅  最后修改于: 2023-12-03 15:13:50.359000             🧑  作者: Mango

C# 从字节数组调整图像大小

在 C# 中,我们经常需要对图像进行操作,其中包括调整图像大小。本文将介绍如何从字节数组中读取图像,并通过编程方式将其调整大小。

读取字节数组中的图像

首先,我们需要读取字节数组中的图像数据。以下是读取 PNG 格式图像数据的示例代码:

byte[] imageBytes = File.ReadAllBytes("example.png");
MemoryStream stream = new MemoryStream(imageBytes);
Image image = Image.FromStream(stream);

上述代码使用 File.ReadAllBytes() 方法读取 PNG 格式的图像数据,并将其存储在字节数组 imageBytes 中。然后,我们创建一个 MemoryStream 对象,并将字节数组中的数据写入该流中。最后,使用 Image.FromStream() 方法从流中创建图像对象。

调整图像大小

接下来,我们将使用 Image 类的 GetThumbnailImage() 方法来调整图像大小。使用此方法可以按比例缩放图像,并返回指定大小的缩略图。以下是将图像调整为 300x300 像素大小的示例代码:

int desiredWidth = 300;
int desiredHeight = 300;
Image thumbnail = image.GetThumbnailImage(desiredWidth, desiredHeight, null, IntPtr.Zero);

上述代码将原始图像缩放为 300x300 像素大小,并返回一个缩略图对象。GetThumbnailImage() 方法的第一个参数是缩略图的宽度,第二个参数是缩略图的高度。第三个参数是一个回调方法(委托),用于控制缩略图的质量。由于我们不需要控制质量,因此此参数为 null。第四个参数是一个指向未使用的数据的指针。

保存调整后的图像

最后,我们需要将调整后的图像保存到磁盘上。以下是将缩略图保存为 PNG 格式的示例代码:

string outputFilePath = "output.png";
thumbnail.Save(outputFilePath, System.Drawing.Imaging.ImageFormat.Png);

上述代码将缩略图对象保存到磁盘上,并指定保存的文件路径和格式(PNG)。Save() 方法的第一个参数是要保存到的文件名或路径,第二个参数是保存格式。

总结

在本文中,我们介绍了如何从字节数组中读取图像数据,并使用 GetThumbnailImage() 方法调整图像大小。最后,我们使用 Save() 方法将调整后的图像保存到磁盘上。这些技术可帮助程序员轻松地在 C# 中操作图像。