Esempio n. 1
0
        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)");
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        // </SnippetSetInitialStrokeAttributes>

        // <SnippetChangeRecognizer>
        // Handle recognizer change.
        private void comboInstalledRecognizers_SelectionChanged(
            object sender, SelectionChangedEventArgs e)
        {
            inkRecognizerContainer.SetDefaultRecognizer(
                (InkRecognizer)comboInstalledRecognizers.SelectedItem);
        }
Esempio n. 10
0
        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();
        }