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); } } }