public PracticePage() { this.InitializeComponent(); random = new Random(); SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible; SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested; Gana.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Mouse | Windows.UI.Core.CoreInputDeviceTypes.Pen; InkDrawingAttributes drawingAttributes = new InkDrawingAttributes(); drawingAttributes.Size = new Size(10, 10); Gana.InkPresenter.StrokesCollected += InkPresenter_StrokesCollected; drawingAttributes.Color = Windows.UI.Colors.Black; drawingAttributes.IgnorePressure = false; drawingAttributes.FitToCurve = true; Gana.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes); inkRecognizerContainer = new InkRecognizerContainer(); recoView = inkRecognizerContainer.GetRecognizers(); if (recoView.Count() > 0) { foreach (InkRecognizer recognizer in recoView) { if (recognizer.Name == "Microsoft 日本語手書き認識エンジン") { inkRecognizerContainer.SetDefaultRecognizer(recognizer); } } } else { ShowMessage("Please Install Japanese Handwriting (www.pinyinjoe.com/windows-10/windows-10-chinese-handwriting-speech-display-language-packs.htm)"); } }
bool SetRecognizerByName(string recognizerName) { bool recognizerFound = false; foreach (InkRecognizer reco in _recoView) { if (recognizerName == reco.Name) { _inkRecognizerContainer.SetDefaultRecognizer(reco); recognizerFound = true; break; } } if (!recognizerFound) { } return(recognizerFound); }
bool SetRecognizerByName(String recognizerName) { bool recognizerFound = false; foreach (InkRecognizer reco in recoView) { if (recognizerName == reco.Name) { inkRecognizerContainer.SetDefaultRecognizer(reco); recognizerFound = true; break; } } if (!recognizerFound && rootPage != null) { rootPage.NotifyUser("Could not find target recognizer", NotifyType.ErrorMessage); } return(recognizerFound); }
bool SetRecognizerByName(string recognizerName) { bool recognizerFound = false; foreach (InkRecognizer reco in recoView) { if (recognizerName == reco.Name) { inkRecognizerContainer.SetDefaultRecognizer(reco); recognizerFound = true; break; } } if (!recognizerFound) { Status.Text = "Could not find target recognizer."; } return(recognizerFound); }
bool SetRecognizerByName(string recognizerName) { bool recognizerFound = false; //Find name and SetDefaultRecognoizer. foreach (InkRecognizer reco in recoView) { if (recognizerName == reco.Name) { inkRecognizerContainer.SetDefaultRecognizer(reco); recognizerFound = true; break; } } if (!recognizerFound && rootPage != null) { rootPage.ShowMessage("Could not find target recognizer."); } return(recognizerFound); }
private void Page_Loaded(object sender, RoutedEventArgs e) { Container = new InkRecognizerContainer(); var recognizers = Container.GetRecognizers(); if (recognizers != null && recognizers.Count > 0) { // 以下為取得目前的語系, 並設定使用目前語系的辨識引擎 string recognizerName = InkRecognizerHelper.LanguageTagToRecognizerName(CultureInfo.CurrentCulture.Name); var recognizer = recognizers.FirstOrDefault((x) => x.Name == recognizerName); if (recognizer != null) { Container.SetDefaultRecognizer(recognizer); } } }
async private void Button_Click(object sender, RoutedEventArgs e) { try { var container = new InkRecognizerContainer(); var recognizers = container.GetRecognizers(); if (recognizers != null && recognizers.Count > 0) { // 以下三行為取得Combobox選擇語系, 並設定語系的辨識引擎 string recognizerName = recognizersCombobox.SelectedItem.ToString(); var recognizer = recognizers.FirstOrDefault((x) => x.Name == recognizerName); if (recognizer != null) { container.SetDefaultRecognizer(recognizer); } } if (inkCanvas.InkPresenter.StrokeContainer != null) { var result = await container.RecognizeAsync(inkCanvas.InkPresenter.StrokeContainer, InkRecognitionTarget.All); string returnText = string.Empty; inkCanvas.InkPresenter.StrokeContainer.Clear(); Candidates.Clear(); foreach (var r in result) { foreach (var c in r.GetTextCandidates()) { Candidates.Add(c); } } listview.Visibility = Visibility.Visible; button.Visibility = Visibility.Collapsed; } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); } //if (result != null) //{ // returnText = result[0].GetTextCandidates()[0]; //} //OnRecognized(returnText); }
async private void Button_Click(object sender, RoutedEventArgs e) { var container = new InkRecognizerContainer(); var recognizers = container.GetRecognizers(); if (recognizers != null && recognizers.Count > 0) { // 以下三行為取得目前的語系, 並設定使用目前語系的辨識引擎 string recognizerName = InkRecognizerHelper.LanguageTagToRecognizerName(CultureInfo.CurrentCulture.Name); var recognizer = recognizers.FirstOrDefault((x) => x.Name == recognizerName); if (recognizer != null) { container.SetDefaultRecognizer(recognizer); } } var result = await container.RecognizeAsync(inkCanvas.InkPresenter.StrokeContainer, InkRecognitionTarget.All); }
// </SnippetSetInitialStrokeAttributes> // <SnippetChangeRecognizer> // Handle recognizer change. private void comboInstalledRecognizers_SelectionChanged( object sender, SelectionChangedEventArgs e) { inkRecognizerContainer.SetDefaultRecognizer( (InkRecognizer)comboInstalledRecognizers.SelectedItem); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (recoView.Count() > 0) { foreach (InkRecognizer recognizer in recoView) { if (mode == 2) { if (recognizer.Name == "Microsoft English (US) Handwriting Recognizer") { inkRecognizerContainer.SetDefaultRecognizer(recognizer); } } if (mode == 1) { if (recognizer.Name == "Microsoft 日本語手書き認識エンジン") { inkRecognizerContainer.SetDefaultRecognizer(recognizer); } } } } Tuple <List <Character>, int, bool> Transfer = e.Parameter as Tuple <List <Character>, int, bool>; GanaList = Transfer.Item1; TimeLimit = Transfer.Item2; if (Transfer.Item3) { mode = 2; } else { mode = 1; } if (ClockTimer != null) { ClockTimer.Stop(); } int multiplier = 0; switch (TimeLimit) { case 1: multiplier = 1; break; case 2: multiplier = 2; break; case 3: multiplier = 3; break; case 4: multiplier = 5; break; case 5: multiplier = 10; break; case 6: multiplier = 15; break; case 7: multiplier = 20; break; case 8: multiplier = 25; break; case 9: multiplier = 30; break; } if (TimeLimit > 0) { dtTimeLeftInSeconds = new TimeSpan(0, 0, multiplier * 1 * 60); } ClockTimer = new DispatcherTimer(); ClockTimer.Tick += updateClock; ClockTimer.Interval = new TimeSpan(0, 0, 1); ClockTimer.Start(); NextCharacter(); }