public void Dispose()
 {
     models.ExportConfig.PropertyChanged -= ExportConfigOnPropertyChanged;
     models.Settings.PropertyChanged     -= SettingsOnPropertyChanged;
     Crop.Dispose();
     models.Display.IsExporting = false;
 }
Esempio n. 2
0
 public void Dispose()
 {
     if (BaseImage == null)
     {
         CropEffect.Dispose();
         CropEffect = null;
         return;
     }
     BaseImage.Dispose();
     BaseImage = null;
 }
 private void ImagesOnPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     switch (e.PropertyName)
     {
     case nameof(ImagesModel.Size):
         // refresh crop thing
         Crop.Dispose();
         Crop = models.ExportConfig.GetViewModel(models);
         OnPropertyChanged(nameof(Crop));
         break;
     }
 }
Esempio n. 4
0
        public void UpdateDevice(GameContainer container)
        {
            if (BaseImage != null)
            {
                BaseImage.UpdateDevice(container);
                var size = BaseImage.Image.PixelSize;
                Rect = new RawRectangleF(0, 0, size.Width, size.Height);
                return;
            }

            CropEffect?.Dispose();
            CropEffect = new Crop(container.DeviceContext);
        }
Esempio n. 5
0
        protected internal void ImageViewScreenshot_OnMouseUp(object sender, MouseButtonEventArgs e)
        {
            Bitmap croppedBitmap;

            using (var screenShotBitmap = (Bitmap)Image.FromFile("screen.png"))
            {
                var cropRect = new Rectangle
                {
                    X      = (int)(_cropSelector.SelectRect.X * screenShotBitmap.Width / ImageViewScreenshot.ActualWidth),
                    Y      = (int)(_cropSelector.SelectRect.Y * screenShotBitmap.Height / ImageViewScreenshot.ActualHeight),
                    Width  = (int)(_cropSelector.SelectRect.Width * screenShotBitmap.Width / ImageViewScreenshot.ActualWidth),
                    Height = (int)(_cropSelector.SelectRect.Height * screenShotBitmap.Height / ImageViewScreenshot.ActualHeight)
                };

                croppedBitmap = new Crop(cropRect).Apply(screenShotBitmap);
                screenShotBitmap.Dispose();
                croppedBitmap.Save("crop.png");
                ReadBarcodeZXing(croppedBitmap);
            }
            croppedBitmap.Dispose();


            //var cropped = ScreenShotSource.cropAtRect(cropRect);

            //Bitmap cropped = new Bitmap(rect.Width, rect.Height);
            //using (Graphics g = Graphics.FromImage(img))
            //{
            //  g.DrawImage(img, new Rectangle(0, 0, cropped.Width, cropped.Height),
            //    rect, GraphicsUnit.Pixel);
            //}
            //var cropped = new CroppedBitmap(ScreenShotSource, rect);
            //var cropURI = new Uri(Path.Combine(Environment.CurrentDirectory, "crop.png"));
            //ImageViewScreenshot.Source = new BitmapImage(cropURI);
            //AdornerLayer.GetAdornerLayer(ImageViewScreenshot)?.Remove(_cropSelector);
            //croppedBmp.Save("crop.bmp", ImageFormat.Bmp);

            //ReadBarcode(cropped);
        }
 public void Dispose()
 {
     Crop.Dispose();
     models.Display.PropertyChanged -= DisplayOnPropertyChanged;
     models.Images.PropertyChanged  -= ImagesOnPropertyChanged;
 }