gpt4 book ai didi

c# - 难以将图像保存到 MemoryStream

转载 作者:可可西里 更新时间:2023-11-01 03:05:31 25 4
gpt4 key购买 nike

我在将字节流从图像(在本例中为 jpg)保存到 System.IO.MemoryStream 对象时遇到了一些困难。目标是将 System.Drawing.Image 保存到 MemoryStream,然后使用 MemoryStream 将图像写入字节数组(我最终需要将它插入数据库)。但是,在 MemoryStream 关闭后检查变量 data 显示所有字节都为零......我很困惑,不知道我做错了什么...

using (Image image = Image.FromFile(filename))
{
byte[] data;

using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
data = new byte[m.Length];
m.Write(data, 0, data.Length);
}

// Inspecting data here shows the array to be filled with zeros...
}

任何见解将不胜感激!

最佳答案

要将流中的数据加载到数组中,您需要读取,而不是写入(并且您需要倒带)。但是,在这种情况下更简单,ToArray():

using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
data = m.ToArray();
}

关于c# - 难以将图像保存到 MemoryStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7629887/

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