private void WindowMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { _isDragging = false; _end = e.GetPosition(Grid); Border.Visibility = Visibility.Collapsed; var layer = AdornerLayer.GetAdornerLayer(Grid); var rect = GetRegion(); UpdateSizeDisplay(rect); if (rect == null) { return; } _croppingAdorner = new CroppingAdorner(Grid, rect.Value); var clr = Colors.Black; clr.A = 110; _croppingAdorner.Fill = new SolidColorBrush(clr); layer.Add(_croppingAdorner); _croppingAdorner.CropChanged += (o, args) => UpdateSizeDisplay(_croppingAdorner.SelectedRegion); _croppingAdorner.Checked += () => { var r = _croppingAdorner.SelectedRegion; _start = r.Location; _end = r.BottomRight; Close(); }; }
private void AddCropToElement(FrameworkElement fel) { if (_felCur != null) { RemoveCropFromCur(); } Rect rcInterior = new Rect( fel.ActualWidth * 0.2, fel.ActualHeight * 0.2, fel.ActualWidth * 0.6, fel.ActualHeight * 0.6); AdornerLayer aly = AdornerLayer.GetAdornerLayer(fel); _clp = new CroppingAdorner(fel, rcInterior); aly.Add(_clp); imgCrop.Source = _clp.BpsCrop(); _clp.CropChanged += CropChanged; _felCur = fel; if (rbRed.IsChecked != true) { SetClipColorGrey(); } }