Ejemplo n.º 1
0
        private List <MapDatabase.Layer> SaveLayers()
        {
            List <MapDatabase.Layer> _Layers = new List <MapDatabase.Layer>();

            foreach (InkCanvas _InkCanvas in _CanvasList.Children)
            {
                MapDatabase.Layer _Layer = new MapDatabase.Layer();
                foreach (Image _Image in _InkCanvas.Children.OfType <Image>())
                {
                    _Layer._Images.Add(new MapDatabase.Image
                    {
                        Path   = ((BitmapImage)_Image.Source).UriSource.OriginalString,
                        X      = InkCanvas.GetLeft(_Image),
                        Y      = InkCanvas.GetTop(_Image),
                        Width  = _Image.ActualWidth,
                        Height = _Image.ActualHeight
                    });
                }

                List <MapDatabase.Polygon> _Polygons = _Layer._Polygons;
                foreach (CustomStroke _Stroke in _InkCanvas.Strokes)
                {
                    List <Point> _Points = new List <Point>();
                    foreach (StylusPoint _StylusPoint in _Stroke.StylusPoints)
                    {
                        Point _Point = new Point();
                        _Point.X = (int)_StylusPoint.X;
                        _Point.Y = (int)_StylusPoint.Y;
                        _Points.Add(_Point);
                    }
                    MapDatabase.Polygon _Polygon = new MapDatabase.Polygon();
                    _Polygon._Color  = _Stroke.DrawingAttributes.Color;
                    _Polygon._Points = _Points;
                    _Polygons.Add(_Polygon);
                }
                _Layers.Add(_Layer);
            }
            return(_Layers);
        }
Ejemplo n.º 2
0
        private List<MapDatabase.Layer> SaveLayers()
        {
            List<MapDatabase.Layer> _Layers = new List<MapDatabase.Layer>();
            foreach (InkCanvas _InkCanvas in _CanvasList.Children)
            {
                MapDatabase.Layer _Layer = new MapDatabase.Layer();
                foreach (Image _Image in _InkCanvas.Children.OfType<Image>())
                {
                    _Layer._Images.Add(new MapDatabase.Image
                    {
                        Path = ((BitmapImage)_Image.Source).UriSource.OriginalString,
                        X = InkCanvas.GetLeft(_Image),
                        Y = InkCanvas.GetTop(_Image),
                        Width = _Image.ActualWidth,
                        Height = _Image.ActualHeight
                    });
                }

                List<MapDatabase.Polygon> _Polygons = _Layer._Polygons;
                foreach (CustomStroke _Stroke in _InkCanvas.Strokes)
                {
                    List<Point> _Points = new List<Point>();
                    foreach (StylusPoint _StylusPoint in _Stroke.StylusPoints)
                    {
                        Point _Point = new Point();
                        _Point.X = (int)_StylusPoint.X;
                        _Point.Y = (int)_StylusPoint.Y;
                        _Points.Add(_Point);
                    }
                    MapDatabase.Polygon _Polygon = new MapDatabase.Polygon();
                    _Polygon._Color = _Stroke.DrawingAttributes.Color;
                    _Polygon._Points = _Points;
                    _Polygons.Add(_Polygon);
                }
                _Layers.Add(_Layer);
            }
            return _Layers;
        }