private void Strokes_StrokesChanged(object sender, System.Windows.Ink.StrokeCollectionChangedEventArgs e) { if (e.Removed.Count > 0 && !HISTORY_INK_HANDLE) { HISTORY_INK_REMOVED.Add(e.Removed.First().Clone()); } }
private void StrokeCollection_StrokesChanged(object sender, System.Windows.Ink.StrokeCollectionChangedEventArgs e) { try { EncogOCR_SketchData sketch = new EncogOCR_SketchData() { Name = "", Strokes = canvasInk.Strokes. Select(o => new EncogOCR_StrokeDefinition(o)). ToArray(), InkCanvasSize = new Size(canvasInk.ActualWidth, canvasInk.ActualHeight), }; sketch.GenerateBitmap(IMAGESIZE); // The bitmap is white on black, switch to black on white double[] inverted = sketch.NNInput. Select(o => 1d - o). ToArray(); double[] converted = inverted; if (_patternStorage != null) { converted = _patternStorage.Convert_Local_External(converted); } DrawImage(imageCurrent, converted); panelGuessedImages.Children.Clear(); if (_patternStorage != null) { double[][] recognized = _patternStorage.Recognize(inverted); #region show thumbnails if (recognized != null) { foreach (var guessImage in recognized) { DrawImage(panelGuessedImages.Children, guessImage); } } #endregion } } catch (Exception ex) { MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Event to hide recognition text when the strokes change /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Strokes_StrokesChanged(object sender, System.Windows.Ink.StrokeCollectionChangedEventArgs e) { recognizeFeedback.Visibility = System.Windows.Visibility.Hidden; }