C# 图片大小转换后,想直接得到该位图的文件流,为何一直报错啊~~,大神求助

aabbjj 2015-10-11 10:05:49
public void test()
{
Image img=Image.FromFile(@"E:\1.jpg");
Image bit = ResizeImage(new Bitmap(img), 10, 20);

//位图转换为流
BitmapToStream(bit as Bitmap);
}

public static Stream BitmapToStream(Bitmap Bitmap)
{
MemoryStream ms = null;

try
{
ms = new MemoryStream();
Bitmap.Save(ms, Bitmap.RawFormat); //该句报错,Bitmap不可为null,可是明明不为空啊!!!
byte[] byteImage = new Byte[ms.Length];
byteImage = ms.ToArray();
Stream stream = new MemoryStream(byteImage);
return stream;
}
catch (ArgumentNullException ex)
{
throw ex;
}
finally
{
ms.Close();
}
}
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
debug看下你的bit到底是不是BitMap不就知道了?你上面都用new的,为啥下面又用了as来转换呢
宝_爸 2015-10-12
  • 打赏
  • 举报
回复
ResizeImage返回的是什么类型?

public static Stream BitmapToStream(Bitmap Bitmap)
改成
public static Stream BitmapToStream(Bitmap bmp)
避免和类名重名。

函数第一行设置断点,看看Bitmap是不是null.
aabbjj 2015-10-12
  • 打赏
  • 举报
回复
大神威武,好像就是命名的问题,感谢大神!!
_lee_chong 2015-10-12
  • 打赏
  • 举报
回复
既然报错为null了,那就肯定是null,你要坚信只会是你错了;
xboxeer 2015-10-11
  • 打赏
  • 举报
回复
bit as Bitmap 转失败了吧?
Poopaye 2015-10-11
  • 打赏
  • 举报
回复
这参数命取的我也是无语了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧