Esempio n. 1
0
        private void MapDrop(object sender, DragEventArgs e)
        {
            var files = (e.Data.GetData(DataFormats.FileDrop, true)) as string[];

            foreach (var file in files)
            {
                var bitmap = new BitmapImage(new Uri(file));
                if (!App.Locator.Import.SelectedOperator.MappingRule.MapParsingData.Any(ppd => ppd.Height == bitmap.PixelHeight &&
                                                                                        ppd.Width == bitmap.PixelWidth))
                {
                    var ipd = new ImageParsingData
                    {
                        Height = bitmap.PixelHeight,
                        Width  = bitmap.PixelWidth,
                    };
                    ipd.DrawingArea.Background = new ImageBrush(bitmap);
                    App.Locator.Import.SelectedOperator.MappingRule.MapParsingData.Add(ipd);
                }
                else
                {
                    var ipd = App.Locator.Import.SelectedOperator.MappingRule.MapParsingData.FirstOrDefault(ppd => ppd.Height == bitmap.PixelHeight && ppd.Width == bitmap.PixelWidth);
                    ipd.DrawingArea.Background = new ImageBrush(bitmap);
                }
            }
        }
        public ObservableCollection <ImageParsingData> LoadPhoto()
        {
            _appDataAccess = new DataAccess.DataAccess();
            var result = new ObservableCollection <ImageParsingData>();

            #region Photo
            PhotoParsingData = new ObservableCollection <ImageParsingData>();
            var photoSizes =
                _appDataAccess
                .GetFillRects(FkOperatorId, "photo")
                .Select(r => new { Width = r.Width, Height = r.Height })
                .Distinct()
                .ToArray();
            foreach (var size in photoSizes)
            {
                var ipd = new ImageParsingData
                {
                    Height      = size.Height,
                    Width       = size.Width,
                    DrawingArea = new Canvas
                    {
                        Height = size.Height,
                        Width  = size.Width,
                    }
                };
                ipd.DrawingArea.MouseLeftButtonDown += ipd.drawingPanelMouseDown;
                var sizeRects = _appDataAccess.GetFillRects(FkOperatorId).Where(r => r.Height == size.Height && r.Width == size.Width && r.Type == "photo").ToArray();
                foreach (var rect in sizeRects)
                {
                    var rectangle = new Rectangle
                    {
                        Fill    = Brushes.Green,
                        Opacity = 0.3,
                        Height  = Math.Abs(rect.Y1 - rect.Y2),
                        Width   = Math.Abs(rect.X1 - rect.X2)
                    };
                    ipd.DrawingArea.Children.Add(rectangle);
                    Canvas.SetTop(rectangle, rect.Y1);
                    Canvas.SetLeft(rectangle, rect.X1);
                    rectangle.MouseRightButtonDown += (s, e) =>
                    {
                        ipd.DrawingArea.Children.Remove(rectangle);
                        _appDataAccess.RemoveFillRectangle(rect.ID);
                    };
                }
                result.Add(ipd);
            }
            #endregion
            return(result);
        }
 private void MapDrop(object sender, DragEventArgs e)
 {
     var files = (e.Data.GetData(DataFormats.FileDrop, true)) as string[];
     foreach (var file in files)
     {
         var bitmap = new BitmapImage(new Uri(file));
         if (!App.Locator.Import.SelectedOperator.MappingRule.MapParsingData.Any(ppd => ppd.Height == bitmap.PixelHeight
         && ppd.Width == bitmap.PixelWidth))
         {
             var ipd = new ImageParsingData
             {
                 Height = bitmap.PixelHeight,
                 Width = bitmap.PixelWidth,
             };
             ipd.DrawingArea.Background = new ImageBrush(bitmap);
             App.Locator.Import.SelectedOperator.MappingRule.MapParsingData.Add(ipd);
         }
         else
         {
             var ipd = App.Locator.Import.SelectedOperator.MappingRule.MapParsingData.FirstOrDefault(ppd => ppd.Height == bitmap.PixelHeight && ppd.Width == bitmap.PixelWidth);
             ipd.DrawingArea.Background = new ImageBrush(bitmap);
         }
     }
 }