拆分包并获取图像字节 [英] split packet and get image bytes

查看:100
本文介绍了拆分包并获取图像字节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,如果我发送带图像字节的数据包到服务器我需要获得唯一的图像字节转换回图像...



客户端:

hello guys if i send packet with image bytes to server i need to get the only image bytes to convert back to image ...

Client side :

public class Image : Writer, Interfaces.IPacket
{
public byte[] Buffer;
public byte[] ImageBytes;

public Image()
{
}

public void Deserialize(byte[] buffer)
{
Buffer = buffer;
}

public byte[] ToArray()
{
Buffer = new byte[(ImageBytes) + 6];
Writer.WriteUInt16(1003, 0 Buffer);
Writer.WriteUint16((ushort)(Buffer.Length), 2, Buffer);
Writer.WriteBytes(ImageBytes, 4, Buffer);
return Buffer;
}
}





和writeBytes:





and writeBytes :

public static void WriteBytes(byte[] arg, int offset, byte[] buffer)
    {
        foreach (byte arg2 in arg)
        {
            if (buffer == null)
                return;
            if (offset > buffer.Length - 1)
                return;
            buffer[offset++] = arg2;
        }
    } 



服务器端:




Server Side :

ushort PacketID = BitConverter.UInt16(packet, 0);
ushort Length = BitConverter.UInt16(packet, 2);





所以我可以从数据包中获取数据包ID和长度...但是如何获取图像字节?



so i can get packet id and length from packet ... but how to get image bytes ?

推荐答案

请参阅我对该问题的评论。您所需要的只是:

http://msdn.microsoft.com/en-us/library/system.drawing.image.save%28v=vs.110%29.aspx [ ^ ],

http:/ /msdn.microsoft.com/en-us/library/system.drawing.image.fromstream%28v=vs.110%29.aspx [ ^ ]。



-SA
Please see my comments to the question. All you need is:
http://msdn.microsoft.com/en-us/library/system.drawing.image.save%28v=vs.110%29.aspx[^],
http://msdn.microsoft.com/en-us/library/system.drawing.image.fromstream%28v=vs.110%29.aspx[^].

—SA


查找WebClient.DownloadFile
Look up WebClient.DownloadFile


这篇关于拆分包并获取图像字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆