public void RenderTrajectory(TrajectoryRenderer renderer) { foreach (Sensors sensors in activities) { renderer.addVelocity(sensors.velocityX, sensors.velocityY); } }
public MissionItem SaveMission(int imageWidth, int imageHeight) { if (!SettingsModel.Instance.PathRecorder) { return(null); } if (this.missionName == null) { Debug.WriteLine("Attempt to save undefined mission"); return(null); } // Saving XML IsolatedStorageFileStream xmlFileStream = IsolatedStorageFile.GetUserStoreForApplication().CreateFile(missionName + ".xml"); missionDoc.Save(xmlFileStream); xmlFileStream.Close(); Canvas canvas = new Canvas(); ImageBrush imgBrush = new ImageBrush(); BitmapImage bmp = new BitmapImage(); bmp.SetSource(Application.GetResourceStream(new Uri(@"Assets/Missions/WhiteBoard.png", UriKind.Relative)).Stream); imgBrush.ImageSource = bmp; // canvas.Background = imgBrush; Image image = new Image(); image.Source = bmp; // canvas.Children.Add(image); canvas.Width = 5; canvas.Height = 2; TrajectoryRenderer trajectoryRenderer = new TrajectoryRenderer(canvas, (int)Math.Floor(0.8 * imageWidth), (int)Math.Floor(0.8 * imageHeight)); trajectoryRenderer.StartPath(new SolidColorBrush(Colors.Black), new SolidColorBrush(Colors.White)); RenderTrajectory(trajectoryRenderer); trajectoryRenderer.EndPath(); TransformGroup tg = new TransformGroup(); tg.Children.Add(trajectoryRenderer.TransformGroup); TranslateTransform tt = new TranslateTransform(); tt.X = imageWidth / 4; tt.Y = imageHeight / 4; tg.Children.Add(tt); WriteableBitmap wb = new WriteableBitmap(canvas, tg); Canvas canvas2 = new Canvas(); Color bckColor = new Color(); bckColor.R = 24; bckColor.G = 41; bckColor.B = 76; canvas2.Background = new SolidColorBrush(bckColor); Image image2 = new Image(); image2.Source = wb; canvas2.Width = imageWidth; canvas2.Width = imageHeight; Canvas.SetLeft(canvas, 0.1 * imageWidth); Canvas.SetTop(canvas, 0.1 * imageHeight); canvas2.Children.Add(image); canvas2.Children.Add(canvas); WriteableBitmap wb2 = new WriteableBitmap(canvas2, null); // Save to IsolatedStorage using (var store = IsolatedStorageFile.GetUserStoreForApplication()) using (var writeStream = new IsolatedStorageFileStream(this.missionName + ".jpg", FileMode.Create, store)) { wb2.SaveJpeg(writeStream, imageWidth, imageHeight, 0, 100); } TriggerMessage("Mission saved as " + missionTitle); MissionItem missionItem = new MissionItem(this.missionName); missionItem.When = this.missionDateTime; return(missionItem); }