当我第二次尝试将流转换为图像时,为什么会出现 ArgumentException?C#
发布时间:2022-07-01 17:50:26 181
相关标签:
我有一个小问题,我正在通过 TCP 连接在两台电脑之间进行视频传输,我所做的是截取屏幕截图,将其序列化并将其发送到另一台电脑,第一次它可以正常工作,但第二次当我得到“ArgumentException”并且程序不再工作时,尝试使用 BinaryFormatter 来完成它,但它很慢。
两种方法都被无限调用
public static void SerializeScreen(Stream stream, Bitmap Image)
{
BinaryWriter binaryWriter = new BinaryWriter(stream);
MemoryStream memory = new MemoryStream();
Image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
binaryWriter.Write(memory.ToArray());
}
public static Image DeserializeScreen(Stream stream)
{
byte[] Buffer = new byte[500000];
BinaryReader binaryReader = new BinaryReader(stream);
int Bytes;
int LastPost = 0;
do
{
Bytes = binaryReader.Read(Buffer, LastPost, Buffer.Length - LastPost);
LastPost += Bytes;
} while (Bytes > 0);
MemoryStream memory = new MemoryStream(Buffer);
//Here is where I get the exception
return Image.FromStream(memory);
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报