gpt4 book ai didi

c# - 将 JPEG 图像转换为字节数组 - COM 异常

转载 作者:IT王子 更新时间:2023-10-29 04:36:09 27 4
gpt4 key购买 nike

我尝试使用 C# 从磁盘加载 JPEG 文件并将其转换为字节数组。到目前为止,我有这段代码:

static void Main(string[] args)
{
System.Windows.Media.Imaging.BitmapFrame bitmapFrame;

using (var fs = new System.IO.FileStream(@"C:\Lenna.jpg", FileMode.Open))
{
bitmapFrame = BitmapFrame.Create(fs);
}

System.Windows.Media.Imaging.BitmapEncoder encoder =
new System.Windows.Media.Imaging.JpegBitmapEncoder();
encoder.Frames.Add(bitmapFrame);

byte[] myBytes;
using (var memoryStream = new System.IO.MemoryStream())
{
encoder.Save(memoryStream); // Line ARGH

// mission accomplished if myBytes is populated
myBytes = memoryStream.ToArray();
}
}

但是,执行 ARGH 行给我消息:

COMException was unhandled. The handle is invalid. (Exception from HRESULT: 0x80070006 (E_HANDLE))

我不认为文件 Lenna.jpg 有什么特别之处 - 我是从 http://computervision.wikia.com/wiki/File:Lenna.jpg 下载的.你能看出上面的代码有什么问题吗?

最佳答案

查看本文中的示例:http://www.codeproject.com/KB/recipes/ImageConverter.aspx

此外,最好使用 System.Drawing

中的类
Image img = Image.FromFile(@"C:\Lenna.jpg");
byte[] arr;
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
arr = ms.ToArray();
}

关于c# - 将 JPEG 图像转换为字节数组 - COM 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413184/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com