首页 新闻 会员 周边

关于 FileStream 和 MemoryStream

1
悬赏园豆:10 [已解决问题] 解决于 2013-11-21 18:17
Image _Image = Image.FromFile(fileName);
MemoryStream stream = new MemoryStream();
_Image.Save(stream, ImageFormat.Bmp);
byte[] _ImageBytes = stream.GetBuffer();
return _ImageBytes;


byte[] bytes = null;
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
  using (BinaryReader br = new BinaryReader(fs))
   {
      bytes = br.ReadBytes((int)fs.Length);
   }
}
return bytes;

这2段代码都是将图片转成byte[],为什么转出来的内容会不一样?

问题补充:

发现将 MemoryStream 的方法改成这个:stream.Read(_ImageBytes, 0, Convert.ToInt32( stream.Length));2种方法就一样了.
stream.GetBuffer();stream.Read()这2个方法有什么不一样的吗

jerry128的主页 jerry128 | 初学一级 | 园豆:31
提问于:2013-11-20 17:39
< >
分享
最佳答案
0

http://msdn.microsoft.com/zh-cn/library/system.io.memorystream.getbuffer.aspx

GetBuff返回从其创建此流的无符号字节数组。

而stream.Read()  BUFF是什么样就返回什么样

收获园豆:10
大芝麻 | 初学一级 |园豆:4 | 2013-11-20 18:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册