/// <summary> /// 新增照片接收实体 /// </summary> /// <param name="picture"></param> /// <param name="task"></param> /// <param name="fragement"></param> private void AddPicReciver(BoShiJiePicture picture, TakePicTask task, GPSPictureFragment fragement) { if (task.TaskType == SimpleCmdType.NormalSeriateShoot) { } else { picture = new BoShiJiePicture(task.GPSCode, (byte)fragement.FragementCount, (byte)fragement.CameraID, (byte)fragement.Status); } }
/// <summary> /// 解析图片数据流 /// </summary> /// <param name="stream"></param> /// <returns></returns> private GPSPictureFragment DecodePictureStream(byte[] stream) { //GPSCode byte[] destBuffer = null; destBuffer = new byte[4]; Array.Copy(stream, 5, destBuffer, 0, 4); string gpsCode = GetGPSCode(destBuffer); int whichFragment = stream[9]; int fragementCount = stream[12]; int camerID = stream[10] & 0x0F; int status = stream[11]; byte[] data = new byte[stream.Length - 15]; Array.Copy(stream, 13, data, 0, stream.Length - 15); GPSPictureFragment fragement = new GPSPictureFragment() { GPSCode = gpsCode, CameraID = camerID, WhichFragement = whichFragment, FragementCount = fragementCount, Status = status, Data = data }; return fragement; }