我真的不明白,这让我发疯。
我有这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/