图片保存出现异常-提示一定要调用ReleaseHDC,

chen_0123c 2012-07-06 05:34:56
用socket网络传输图像,单独显示没有问题,就是传输的时候一直不成功,总是提示对象当前正在其他地方使用,要调用ReleaseHDC方法,但是我从来没有进行相关的操作,好奇怪,求高手解决!

img已经取出来的bitmap图片,代码如下:
bmSave = img;
bmSave.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] trr = ms.ToArray();
netStream.Write(trr, 0, trr.Length);
ms.Flush();
netStream.Flush();
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_0123c 2012-07-09
  • 打赏
  • 举报
回复
感谢楼上的回答,虽然问题没有解决,但是您耐心回答, 分给您了!
chen_0123c 2012-07-09
  • 打赏
  • 举报
回复
感谢楼上的回答,我是真的动手试了,您看是不是这样序列化
Bitmap I = (Bitmap)eventArgs.Frame.Clone();
//pictureBox1.Image = I;
//序列化
System.IO.MemoryStream M = new System.IO.MemoryStream();
I.Save(M, ImageFormat.Jpeg);但是就是调用这个I.save时出错误啊,
楼上看看这个代码是否有问题,我运行时老是出现,要调用ReleaseHDC方法这个异常!
chen_0123c 2012-07-08
  • 打赏
  • 举报
回复
感谢楼上的回答,如果不通过bmSave.Save来传输图像,那怎么传输图像!用Socket传输图像,现在我是将图片保存为流的方式,然后在传输,!
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
总是提示对象当前正在其他地方使用,要调用ReleaseHDC方法[/Quote]

不知道你的具体意思。

bitmap不能很好地去搞什么Save到MemoryStram再读出。你可以把对象直接二进制序列化,然后再二进制反序列化。不用纠结于Save这类方法。
chen_0123c 2012-07-08
  • 打赏
  • 举报
回复
没人回复,自己顶!
  • 打赏
  • 举报
回复
二进制序列化和凡序列针对Bitmap --> 二进制序列化和反序列针对Bitmap

二进制凡序列化之后,你都直接可以正确地得到一个内存中的图片对象,用于之后的操作,还要绕什么弯呢?我怀疑你根本没有动手试过。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

像楼上说的那样,如果二进制序列化和二进制反序列化以后,也要调用到**。save的方法,还是一样有错误!
[/Quote]

晕死!

二进制序列化和凡序列针对Bitmap,怎么可能扯上Save的关系呢?
chen_0123c 2012-07-08
  • 打赏
  • 举报
回复
像楼上说的那样,如果二进制序列化和二进制反序列化以后,也要调用到**。save的方法,还是一样有错误!

110,534

社区成员

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

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

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