我真的不明白,这让我发疯。
我有这4行:

Image img = Image.FromFile("F:\\Pulpit\\soa.bmp");
MemoryStream imageStream = new MemoryStream();
img.Save(imageStream, ImageFormat.Bmp);
byte[] contentBuffer = new byte[imageStream.Length];
imageStream.Read(contentBuffer, 0, contentBuffer.Length);

调试时,我可以看到imageStream中的字节值。在imageStream.Read之后,我检查contentBuffer的内容,我只看到255个值。
我不明白为什么会这样?这几行没有错!
如果有人可以帮助我,将不胜感激!
谢谢,
阿涅耶斯卡

最佳答案

尝试将imageStream.Position设置为0。写入MemoryStream时,它会将Position移到刚写入的字节之后,因此,如果尝试读取,则那里什么也没有。

关于c# - MemoryStream.Read不会将字节复制到缓冲区-C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/376156/

10-09 07:46