Example #1
0
 public void RenderTrajectory(TrajectoryRenderer renderer)
 {
     foreach (Sensors sensors in activities)
     {
         renderer.addVelocity(sensors.velocityX, sensors.velocityY);
     }
 }
Example #2
0
        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);
        }