首页 >后端开发 >C++ >在 C# 中将位图转换为字节数组的最有效方法是什么?

在 C# 中将位图转换为字节数组的最有效方法是什么?

Patricia Arquette
Patricia Arquette原创
2025-01-23 14:52:091009浏览

What's the Most Efficient Way to Convert a Bitmap to a Byte Array in C#?

C# Bitmap高效转换为字节数组的几种方法

将Bitmap转换为字节数组,虽然FileStream方法常见易懂,但效率并非最佳。以下介绍两种更高效的方法:

1. 使用ImageConverter:

<code class="language-csharp">public static byte[] ImageToByte(Image img)
{
    ImageConverter converter = new ImageConverter();
    return (byte[])converter.ConvertTo(img, typeof(byte[]));
}</code>

2. 使用MemoryStream:

<code class="language-csharp">public static byte[] ImageToByte2(Image img)
{
    using (var stream = new MemoryStream())
    {
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        return stream.ToArray();
    }
}</code>

方法对比:

  • ImageConverter: 代码简洁,使用方便。
  • MemoryStream: 支持自定义图片格式,直接保存到内存,无需磁盘操作。

两种方法都比FileStream方法更快更高效。选择哪种方法取决于具体应用场景的需求。

以上是在 C# 中将位图转换为字节数组的最有效方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn