Exemple #1
0
        private void UpdateGapDistance()
        {
            if (CurrentResult != null)
            {
                CurrentResult.GapDistance = GapDistance;
            }

            RBSK rbsk = MouseService.GetStandardMouseRules();

            rbsk.Settings.GapDistance     = GapDistance;
            rbsk.Settings.BinaryThreshold = BinaryThreshold;
            PointF[] result = RBSKService.RBSK(CurrentImage, rbsk);
            using (Image <Bgr, Byte> img = CurrentImage.Clone())
            {
                img.DrawPolyline(MotionTrack.Select(x => x.ToPoint()).ToArray(), false, new Bgr(Color.Blue), 2);

                if (result != null)
                {
                    foreach (PointF point in result)
                    {
                        img.Draw(new CircleF(point, 2), new Bgr(Color.Yellow), 2);
                    }
                }

                DisplayImage = ImageService.ToBitmapSource(img);
            }
        }
Exemple #2
0
        void AjaxImage_Callback(object sender, CallBackEventArgs e)
        {
            int page = int.Parse(e.Parameter);

            CurrentImage.ImageUrl = "getImage.aspx?ScannedFormId=" + scannedFormId + "&page=" + e.Parameter;
            CurrentImage.RenderControl(e.Output);
        }
Exemple #3
0
 public void SaveImageConfig(string path)
 {
     if (CurrentImage != null)
     {
         CurrentImage.SaveConfig(path);
     }
 }
        private void UpdateDisplayImage()
        {
            RBSK rbsk = MouseService.GetStandardMouseRules();

            rbsk.Settings.GapDistance     = GapDistance;
            rbsk.Settings.BinaryThreshold = BinaryThreshold;
            PointF[] result = RBSKService.RBSK(CurrentImage, rbsk);
            using (Image <Bgr, Byte> img = CurrentImage.Clone())
            {
                //if (!ROI.IsEmpty)
                //{
                //    img.ROI = ROI;
                //}

                if (result != null)
                {
                    foreach (PointF point in result)
                    {
                        img.Draw(new CircleF(point, 2), new Bgr(Color.Yellow), 2);
                    }
                }

                DisplayImage = ImageService.ToBitmapSource(img);
            }
        }
Exemple #5
0
 protected override void WindowClosing(CancelEventArgs closingEventArgs)
 {
     if (CurrentImage != null)
     {
         CurrentImage.Dispose();
     }
 }
 public override void UnloadContent()
 {
     CurrentImage?.UnloadContent();
     CurrentImage = null;
     base.UnloadContent();
     MarkedForDeletion = true;
 }
Exemple #7
0
        public void SaveImagePng(string filePath)
        {
            var encoder = new PngEncoder {
                PngColorType = PngColorType.RgbWithAlpha,
            };

            CurrentImage?.Save(filePath, encoder);
        }
 private void UpdateBinaryThreshold2()
 {
     using (Image <Gray, Byte> grayImage = CurrentImage.Convert <Gray, Byte>())
         using (Image <Gray, Byte> binaryImage = grayImage.ThresholdBinary(new Gray(BinaryThreshold2), new Gray(255)))
         {
             DisplayImage = ImageService.ToBitmapSource(binaryImage);
         }
 }
 public void Draw(SpriteBatch spriteBatch)
 {
     if (CurrentImage == null)
     {
         return;
     }
     CurrentImage.Draw(spriteBatch);
 }
Exemple #10
0
 private void colourPalettePanel_PaletteChanged(object sender, PaletteChangedEventArgs e)
 {
     if (CurrentImage != null)
     {
         CurrentImage.Palette = (Color[])e.Palette.Clone();
         CurrentImage.PushState();
     }
 }
        private void CopyURLBtn_Click(object sender, RoutedEventArgs e)
        {
            DataPackage dataPackage = new DataPackage();

            dataPackage.SetText(CurrentImage.GetSaveImageUrlFromSettings());
            Clipboard.SetContent(dataPackage);
            ToastService.SendToast("Copied.");
        }
Exemple #12
0
 public EditPicture(ShapeImage shapeImage)//Image shape,string imageUrl)
 {
     InitializeComponent();
     CurrentShapeImage = shapeImage;
     CurrentImage      = shapeImage.Image;
     CurrentImageOld   = (Image)CurrentImage.Clone();
     ImageUrl          = shapeImage.ImageUrl;
     InitImage();
 }
 /// <summary>
 /// 保存当前图片
 /// </summary>
 /// <param name="imageType">bmp,png,tiff</param>
 /// <param name="imagePath"></param>
 /// <returns></returns>
 public bool SaveImage(string imageType, string imagePath)
 {
     try
     {
         CurrentImage.WriteImage(imageType, 0, imagePath);
         return(true);
     }
     catch (Exception ex) { return(false); }
 }
 public new void Clear()
 {
     if (CurrentImage != null)
     {
         CurrentImage.Dispose();
     }
     this.pictureEnumerator = null;
     base.Clear();
     this.currentImage = null;
 }
Exemple #15
0
 /// <summary>
 /// 读取一张图片
 /// </summary>
 /// <param name="imagePath"></param>
 /// <returns></returns>
 public bool ReadImage(string imagePath)
 {
     try
     {
         CurrentImage?.Dispose();
         CurrentImage.ReadImage(imagePath);
         return(true);
     }
     catch { return(false); }
 }
Exemple #16
0
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }

            CurrentImage?.Dispose();

            base.Dispose(disposing);
        }
Exemple #17
0
 private void saveToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (CurrentImage.FilePath == null)
     {
         saveAsToolStripMenuItem_Click(null, null);
     }
     else
     {
         CurrentImage.Save();
     }
 }
        private void SetCurrentImage(string path)
        {
            if (CurrentImage != null)
            {
                CurrentImage.Dispose();
            }

            RotationSlider.IsEnabled = true;

            CurrentImage = SixLabors.ImageSharp.Image.Load <Bgra32>(path);
            RenderingHelpers.BindSoftwareBitmapToImageControl(InputImage, CurrentImage.AsSoftwareBitmap());
        }
Exemple #19
0
 public void LoadImageConfig(string path)
 {
     CurrentImage = ImageFactory.FromFile(path);
     if (CurrentImage != null)
     {
         int width  = _hdu.Axes[0].NumPoints;
         int height = _hdu.Axes[1].NumPoints;
         CurrentImage.Initialize(_hdu.DataMngr.Data, width, height);
         // notify observers
         RaiseImageChanged();
     }
 }
        private void saveImageButton_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveDialog = new SaveFileDialog();

            saveDialog.DefaultExt      = ".bmp";
            saveDialog.OverwritePrompt = true;
            saveDialog.ShowDialog();

            string path = saveDialog.FileName;

            CurrentImage.Save(path);
        }
Exemple #21
0
        private async void _dataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
        {
            DataRequestDeferral deferral = args.Request.GetDeferral();

            sender.TargetApplicationChosen += (s, e) =>
            {
                deferral.Complete();
            };
            await CurrentImage.SetDataRequestData(args.Request);

            deferral.Complete();
        }
        private void TryPerformInference(bool reloadImages = true)
        {
            if (CurrentImage != null)
            {
                // Classify
                var angle = (float)RotationSlider.Value;
                var(labels, probabilities) = Classify(CurrentImage.Clone(), angle);

                // Render the classification and probabilities
                RenderInferenceResults(labels, probabilities);
            }
        }
Exemple #23
0
        private void UpdateBinaryThreshold2()
        {
            if (CurrentResult != null)
            {
                CurrentResult.ThresholdValue2 = BinaryThreshold2;
            }

            using (Image <Gray, Byte> grayImage = CurrentImage.Convert <Gray, Byte>())
                using (Image <Gray, Byte> binaryImage = grayImage.ThresholdBinary(new Gray(BinaryThreshold2), new Gray(255)))
                {
                    DisplayImage = ImageService.ToBitmapSource(binaryImage);
                }
        }
Exemple #24
0
        public void MakeAnimationReverse()
        {
            if (images != null)
            {
                int to = ActualPage - 1;
                ActualPage--;

                if (to < 0)
                {
                    to         = images.Count - 1;
                    ActualPage = images.Count - 1;
                }

                if (!reverse)
                {
                    Canvas.SetLeft(CurrentImage, 0);
                    Canvas.SetLeft(NewImage, CurrentImage.Width);
                    NewImage.Source = imgS[to];

                    DoubleAnimation moveAnimX  = new DoubleAnimation(Canvas.GetLeft(CurrentImage), CurrentImage.Width, new Duration(TimeSpan.FromSeconds(TimeToTranslate)));
                    DoubleAnimation NmoveAnimX = new DoubleAnimation(-CurrentImage.Width, 0, new Duration(TimeSpan.FromSeconds(TimeToTranslate)));

                    moveAnimX.DecelerationRatio  = 0.5f;
                    NmoveAnimX.DecelerationRatio = 0.5f;

                    CurrentImage.BeginAnimation(Canvas.LeftProperty, moveAnimX);
                    NewImage.BeginAnimation(Canvas.LeftProperty, NmoveAnimX);
                    reverse = true;
                }
                else
                {
                    Canvas.SetLeft(NewImage, 0);
                    Canvas.SetLeft(CurrentImage, CurrentImage.Width);
                    CurrentImage.Source = imgS[to];

                    DoubleAnimation moveAnimX  = new DoubleAnimation(Canvas.GetLeft(NewImage), NewImage.Width, new Duration(TimeSpan.FromSeconds(TimeToTranslate)));
                    DoubleAnimation NmoveAnimX = new DoubleAnimation(-CurrentImage.Width, 0, new Duration(TimeSpan.FromSeconds(TimeToTranslate)));

                    moveAnimX.DecelerationRatio  = 0.5f;
                    NmoveAnimX.DecelerationRatio = 0.5f;

                    NewImage.BeginAnimation(Canvas.LeftProperty, moveAnimX);
                    CurrentImage.BeginAnimation(Canvas.LeftProperty, NmoveAnimX);
                    reverse = false;
                }
                CanGoToNext = false;
                CanGoTimer  = TimeToTranslate;

                UpdateCirclesAndText();
            }
        }
Exemple #25
0
        private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            dialog.DefaultExt      = "png";
            dialog.Filter          = "PNG Image (*.png)|*.png";
            dialog.Title           = "Export Image";
            dialog.FileName        = CurrentImage.FileName;
            dialog.OverwritePrompt = true;
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                CurrentImage.Save(dialog.FileName);
            }
        }
Exemple #26
0
 public void GrabImageVoid()
 {
     try
     {
         if (Connected)
         {
             CurrentImage?.Dispose();
             CurrentImage = Framegrabber.GrabImage();
         }
     }
     catch
     {
         Connected = false;
     }
 }
        private void ToggleDetailGridAnimation(bool show)
        {
            IsShown = show;

            TogglePreviewButtonAnimation(show);

            var fadeAnimation = _compositor.CreateScalarKeyFrameAnimation();

            fadeAnimation.InsertKeyFrame(1f, show ? 1f : 0f);
            fadeAnimation.Duration  = TimeSpan.FromMilliseconds(show ? 700 : 300);
            fadeAnimation.DelayTime = TimeSpan.FromMilliseconds(show ? 400 : 0);

            var batch = _compositor.CreateScopedBatch(CompositionBatchTypes.Animation);

            _detailGridVisual.StartAnimation("Opacity", fadeAnimation);

            var maskFadeAnimation = _compositor.CreateScalarKeyFrameAnimation();

            maskFadeAnimation.InsertKeyFrame(1f, show ? 0.8f : 0f);
            maskFadeAnimation.Duration  = TimeSpan.FromMilliseconds(show ? 700 : 300);
            maskFadeAnimation.DelayTime = TimeSpan.FromMilliseconds(show ? 400 : 0);

            _maskBorderGridVisual.StartAnimation("Opacity", maskFadeAnimation);

            if (show)
            {
                var task  = CheckImageDownloadStatusAsync();
                var task2 = CurrentImage.GetExifInfoAsync();
                ToggleFlipperControlAnimation(true);
                ToggleShareBtnAnimation(true);
                ToggleInfoGridAnimation(true);
            }

            batch.Completed += (sender, e) =>
            {
                if (!show)
                {
                    ResetVisualInitState();
                    this.Visibility = Visibility.Collapsed;

                    ToggleElementsOpacity(true);
                }

                _animating = false;
            };
            batch.End();
        }
        private void TimerTick(object sender)
        {
            try
            {
                CurrentImage.Dispatcher.Invoke(() =>
                {
                    var t = DateTime.Now;
                    CurrentImage.WritePixels(new System.Windows.Int32Rect(0, 0, 2560, 2160), rawImages[imageIndex], 2560 * 16 + 2560 % 4, 0);
                    Console.WriteLine("Copying time (ms): " + (DateTime.Now - t).TotalMilliseconds);
                });

                imageIndex = imageIndex >= rawImages.Count - 1 ? 0 : imageIndex + 1;
            }
            catch (Exception exc)
            {
            }
        }
        private void ProcessImage(FileInfo CurrentFileInfo, string PrevPath)
        {
            if (!CurrentFileInfo.Name.Contains(".db"))
            {
                Image CurrentImage;
                using (FileStream fs = new FileStream(CurrentFileInfo.FullName, FileMode.Open))
                {
                    CurrentImage = Image.FromStream(fs);
                }
                CurrentImage = ScaleImage(CurrentImage, GetWidth(CurrentImage.Width), GetHeight(CurrentImage.Height));

                using (FileStream fs = new FileStream(PrevPath + "\\" + CurrentFileInfo.Name, FileMode.Create))
                {
                    CurrentImage.Save(fs, ImageFormat.Jpeg);
                }
            }
        }
Exemple #30
0
 void _battle_DamagedEvent(object sender, DamageEventArgs args)
 {
     if (args.Target == Current)
     {
         if (args.Damage == 0)
         {
             Damege.Show(CurrentDamage, "Miss");
             return;
         }
         Damege.Show(CurrentDamage, args.Damage.ToString());
         CurrentImage.Damaged();
         if (args.IsCritical)
         {
             Flash.Show(this);
             MagicCircle.Show(this, 500);
             CutInFace.Show(this, new NameModelViewModel().Hissatsu, Enemy.MainName, false, 2);
             DependencyService.Get <IDeviceService>().PlayVibrate();
         }
         else if (MyRandom.GetRandom(10) > 3)
         {
             BattleComment.Show(BattleCommentAreaForCurrent, Current.GetBattleComment());
         }
     }
     else
     {
         if (args.Damage == 0)
         {
             Damege.Show(EnemyDamage, "Miss");
             return;
         }
         Damege.Show(EnemyDamage, args.Damage.ToString());
         EnemyImage.Damaged();
         if (args.IsCritical)
         {
             Flash.Show(this);
             MagicCircle.Show(this, 500);
             CutInFace.Show(this, new NameModelViewModel().Hissatsu, Current.MainName, true, 2);
             DependencyService.Get <IDeviceService>().PlayVibrate();
         }
         else if (MyRandom.GetRandom(10) > 3)
         {
             BattleComment.Show(BattleCommentAreaForEnemy, Enemy.GetBattleComment());
         }
     }
 }