Свобода выражения с помощью рукописного ввода
Возможности рукописного ввода в Office и Windows помогают управлять цифровым миром касанием пера, создавать фрагменты привычными жестами и легче воплощать свои идеи.
Рисование и создание заметок от руки
Делайте наброски от руки, а затем преобразовывайте рукописный текст в печатный нажатием одной кнопки.
На вкладке Рисование выберите перо.
Щелкните набор инструментов и выберите Текст.
Хотите узнать больше?
Редактирование с помощью привычных жестов
Редактируйте привычными жестами касания пальцев или пера: обводите для выделения и зачеркивайте для удаления.
На вкладке Рисование нажмите кнопку Правки от руки и выберите перо.
Внесите изменения в документ привычными жестами.
Обводите, зачеркивайте, рисуйте и вставляйте.
Хотите узнать больше?
Рукописный ввод в OneNote
Просто начните писать, используя ручку Surface.
На вкладке Рисование выберите перо, чтобы изменить цвет и толщину.
Используйте функцию Произвольное выделение, чтобы обвести любой написанный текст. Затем нажмите кнопку Преобразовать в текст, чтобы преобразовать его в редактируемый текст.
Нажмите кнопку Преобразовать в фигуру и нарисуйте фигуры. Приложение OneNote обеспечит для них идеальный внешний вид.
Хотите узнать больше?
Использование рукописного ввода в приложении «Фрагмент и набросок»
Откройте приложение «Фрагмент и набросок» и выберите команду Создать.
Или нажмите клавиши Windows+SHIFT+S.
Выберите тип фрагмента, который нужно создать.
Выберите область, которую нужно вырезать. Ваш фрагмент откроется в приложении.
Если вы использовали сочетание клавиш, выберите отображаемое уведомление.
Используйте перо для записи на фрагменте или выберите элемент Рукописный ввод, чтобы использовать палец.
Голосовые функции, голосовая активация, рукописный ввод, ввод с клавиатуры и конфиденциальность
Ваша конфиденциальность очень важна для нас. Поэтому мы предоставляем вам контроль над параметрами конфиденциальности распознавания речи в сети, рукописного ввода и персонализации ввода в Windows. Дополнительные сведения об этих функциях см. в следующих разделах.
Голосовые функции
Майкрософт предоставляет как функцию распознавания речи на устройстве, так и облачные (в сети) технологии распознавания речи.
Если включить параметр распознавания речи в сети, приложения смогут воспользоваться системой облачного распознавания речи Майкрософт. Кроме того, Windows 10 функции распознавания речи в Интернете позволяет использовать диктовку в Windows.
Включение речи при настройке HoloLens или установке Windows Mixed Reality позволяет использовать голос для команд, диктовки и взаимодействия с приложением. Будут включены как распознавание речи на устройстве, так и параметры распознавания речи в Интернете. Если оба параметра отключены и ваша гарнитура включена, устройство всегда будет прослушивать ваши голосовые данные и отправлять голосовые данные в облачные технологии распознавания речи Майкрософт. Можно отключить эти параметры в любое время. Для этого перейдите в меню Пуск > Параметры > Конфиденциальность > Голосовые функции на устройстве HoloLens или Пуск > Параметры > Смешанная реальность > Звук и речь при использовании решения Mixed Reality на устройстве с Windows. Подробнее о голосовых функциях в Windows Mixed Reality
При использовании облачных технологий распознавания речи Майкрософт (при включенном параметра «Распознавание речи в сети», при взаимодействии с устройством HoloLens или при использовании голосового ввода) корпорация Майкрософт собирает и использует записи вашего голоса, чтобы предоставлять эту услугу, преобразовывая произнесенные слова, содержащиеся в голосовых данных, в текст. Корпорация Майкрософт не хранит, не анализирует и не прослушивает записи вашего голоса без вашего разрешения. Дополнительные сведения см. в статье Как корпорация Майкрософт защищает мою конфиденциальность при улучшении технологии распознавания речи?
Функцию распознавания речи на устройстве можно использовать без отправки голосовых данных в корпорацию Майкрософт. Однако облачные технологии распознавания речи Майкрософт более точно распознают речь, чем функция распознавания речи на устройстве. Когда параметр распознавания речи через Интернет выключен, голосовые службы, не использующие облако и работающие только на вашем устройстве, такие как экранный диктор и распознавание речи Windows, по-прежнему будут работать, но Майкрософт не будет собирать никакие голосовые данные.
Дополнительные сведения о речевых данных, собираемых при использовании Кортаны, см. в разделе Кортана и конфиденциальность.
Когда мы собираем данные, даже если это делается для улучшения работы вашего устройства, мы стремимся предоставлять вам необходимую информацию, чтобы вы могли принять правильные решения о том, как и когда используются эти данные. Вот что следует сделать для управления параметрами распознавания речи.
Управление распознаванием речи в сети
Выполните одно из следующих действий:
В Windows 10 перейдите в меню Пуск > Параметры > Конфиденциальность > Распознавание речи.
В Windows 11 перейдите в меню Пуск > Параметры > Конфиденциальность и безопасность > Распознавание речи.
Установите для параметра Распознавание речи в сети значение Вкл. или Откл.
Управление использованием голосовых фрагментов для улучшения распознавания речи в сети в Windows 10
Перейдите в меню Пуск > Параметры > Конфиденциальность > Распознавание речи.
В разделе Помогите сделать распознавание речи в сети лучше, выберите один из следующих вариантов:
Начать использовать мои голосовые сообщения
Прекратить использовать мои голосовые записи
Примечание: Этот параметр доступен не во всех версиях Windows 10. Если параметр недоступен, голосовые записи не будут использоваться для улучшения распознавания речи. Дополнительные сведения о добавлении голосовых записей см. в статье Как корпорация Майкрософт защищает мою конфиденциальность при совершенствовании технологии распознавания речи?
Управление распознаванием речи на устройстве HoloLens
Перейдите в меню Пуск> Параметры > Конфиденциальность > Голосовые функции.
В разделе Распознавание речи измените значение параметра на Вкл. или Выкл.
Управление распознаванием речи для смешанной реальности
Перейдите в меню Пуск> Параметры > Смешанная реальность > Звук и речь.
В разделе Распознавание речи измените значение параметра Использовать распознавание речи.
Голосовой ввод
В Windows 11 функция диктовки обновлена и переименована: теперь она называется «голосовой ввод». Функция голосового ввода, как и функция диктовки, использует технологии распознавания речи в сети для преобразования речи в текст. Для использования голосового ввода больше не нужно включать параметр распознавания речи в сети. Также вы можете отправлять голосовые фрагменты, чтобы помочь нам улучшить работу функции голосового ввода. Если вы не хотите оправлять голосовые фрагменты, вы все равно можете пользоваться голосовым вводом. Это можно настроить в любое время в параметрах голосового ввода. Корпорация Майкрософт не хранит, не анализирует и не прослушивает записи вашего голоса без вашего разрешения. Дополнительные сведения см. в статье Дополнительные сведения о Майкрософт и ваших голосовых данных.
Начало использования голосового ввода
Нажмите клавиши Windows + H или нажмите кнопку микрофона на сенсорной клавиатуре.
Управление использованием голосовых фрагментов, записываемых при голосовом вводе, для улучшения распознавания речи в сети в Windows 11
Если вы используете аппаратную клавиатуру
Откройте голосовой ввод, нажав клавиши Windows + H.
Чтобы начать отправлять голосовые фрагменты, выберите Узнайте, как начать отправку голосовых фрагментов
Чтобы прекратить отправку голосовых фрагментов, выберите Узнайте, как прекратить отправку голосовых фрагментов
Если вы используете сенсорную клавиатуру
Откройте голосовой ввод, нажав кнопку микрофона сенсорной клавиатуре.
Чтобы начать отправлять голосовые фрагменты, выберите Помогите нам улучшить голосовой ввод, затем выберите Узнайте, как начать отправку голосовых фрагментов.
Чтобы прекратить отправлять голосовые фрагменты, выберите Вы отправляете голосовые фрагменты, затем выберите Узнайте, как начать прекратить голосовых фрагментов.
Примечание: Если вы используете рабочую или учебную учетную запись, отправка голосовых данных недоступна, но вы по-прежнему можете использовать голосовой ввод.
Голосовая активация
Windows предоставляет поддерживаемые приложения, которые могут отвечать и выполнять действия на основе голосовых ключевых слов, настроенных для этого приложения. Например, Кортана может слушать речь и отвечать на фразу «Кортана!».
Если вы предоставите приложению разрешение прослушивать голосовые ключевые слова, Windows будет активно прослушивать микрофон на предмет произнесения этих ключевых слов. При распознавании ключевого слова приложение получит доступ к вашим голосовым записям, сможет обрабатывать эти записи, совершать действия и отвечать (например, используя устные ответы). Приложение сможет отправлять голосовые записи в свои собственные службы, находящиеся в облаке, для обработки команд. Каждое приложение должно запрашивать у вас разрешение на доступ к микрофону. Приложение-помощник может отправлять голосовые записи в свои службы и собирать записи для других целей, например для улучшения служб. Дополнительные сведения см. в заявлении о конфиденциальности для приложения-помощника. Майкрософт не собирает голосовые записи в интересах любых приложений сторонних производителей, для которых вы разрешили голосовую активацию.
Когда голосовой помощник приложения будет готов к активации с помощью произнесенного ключевого слова, на панели задач появится значок микрофона. В Windows 11 он выглядит следующим образом:
Когда голосовой помощник приложения будет активирован и начнет активное прослушивание, чтобы предоставить ответ, сведения на панели задач изменятся. Панель задач будет выглядеть, как на следующем снимке экрана Windows 11 (в данном случае показано, что активирована Кортана):
Активацию голосовой связи также можно активировать, если устройство заблокировано и экран выключен. После того как приложение будет активировано с помощью произнесенного ключевого слова, оно сможет продолжать слушать микрофон. Даже когда устройство заблокировано и экран выключен, приложение может активироваться для всех, кто говорит рядом с устройством и имеет доступ к тому же набору возможностей и информации, что и при разблокировке устройства.
Голосовые программы будут работать по-разному в зависимости от параметров спящего режима, которые вы выбрали для устройства, или типа устройства, которое вы используете.
Если вы используете ноутбук или планшет
Параметры спящего режима
Доступность голосовой активации
Поведение голосового помощника
Переход в спящий режим по истечении определенного периода времени
Когда экран включен (по умолчанию)
Голосовой помощник не отвечает после перехода устройства в спящий режим
Никогда не переходить в спящий режим
Когда устройство подключено к сети
Голосовая связь будет отвечать только всегда, когда устройство подключено к сети
Если вы используете моноблок
Параметры спящего режима
Доступность голосовой активации
Поведение голосового помощника
Переход в спящий режим по истечении определенного периода времени
Когда экран включен
Голосовой помощник не сможет ответить после перехода устройства в спящий режим
Никогда не переходить в спящий режим
Когда устройство подключено к сети (по умолчанию)
Голосовая связь будет отвечать только всегда, когда устройство подключено к сети
Из описанного выше поведения есть несколько исключений:
Если вы используете ноутбук или планшет, и устройство находится в режиме экономии заряда, голосовой помощник не сможет ответить.
Если вы используете ноутбук или планшет с встроенным виртуальным помощником, который поддерживает аппаратное обнаружение ключевых слов, например Алексу или Кортану, голосовой помощник всегда будет отвечать и даже выводить устройство из спящего режима, когда оно работает от батареи.
Чтобы просмотреть и изменить параметры спящего режима, выполните одно из следующих действий:
В Windows 10 перейдите в меню Пуск > Параметры > Система > Питание и спящий режим.
В Windows 11 перейдите в start > Параметры > System > Power & battery.
Чтобы просмотреть и изменить параметры голосовой активации, выполните одно из следующих действий:
В Windows 10 начните > Параметры > конфиденциальности > голосовой активации.
В Windows 11 перейдите в начните > Параметры > конфиденциальности & безопасности > голосовой активации.
Чтобы узнать, какие разрешения предоставлены приложению, которое будет доступно при заблокированном устройстве, выполните одно из следующих действий:
В Windows 10 начните > Параметры > конфиденциальности и проверьте различные параметры на страницах разрешений приложения.
В Windows 11 перейдите в start > Параметры > конфиденциальности & безопасность и проверьте различные параметры на страницах разрешений приложений.
Изменение возможности активации приложений, указанных на этой странице параметров, с помощью голосового ключевого слова
Перейдите в меню Пуск > Параметры > Конфиденциальность > Голосовая активация.
Измените параметр Разрешить приложениям использовать голосовую активацию на Вкл. или Выкл..
Изменение возможности использования голосовой активации приложений, указанных на этой странице параметров, когда устройство заблокировано
Перейдите в меню Пуск > Параметры > Конфиденциальность > Голосовая активация.
Изменение возможности активации отдельного приложения с помощью голосового ключевого слова
Перейдите в меню Пуск > Параметры > Конфиденциальность > Голосовая активация.
Включите или отключите каждое приложение в разделе Выберите приложения, которые могут использовать голосовую активацию. Если параметр Разрешить приложениям использовать голосовую активацию отключен для вашей учетной записи пользователя, нужно будет включить его, чтобы можно было включить или отключить этот параметр.
В разделе Выберите приложения, которые могут использовать голосовую активацию выберите приложение и измените значение параметра, который позволяет приложению реагировать на ключевые слова, на Выкл.
Изменение возможности отдельного приложения использовать голосовую активацию, если устройство заблокировано
Перейдите в меню Пуск > Параметры > Конфиденциальность > Голосовая активация.
Включите или отключите каждое приложение в разделе Выберите приложения, которые могут использовать голосовую активацию. Если параметр Разрешить приложениям использовать голосовую активацию, когда это устройство заблокировано отключен для вашей учетной записи пользователя, нужно будет включить его, чтобы можно было включить или отключить этот параметр.
Изменение возможности активации приложений, указанных на этой странице параметров, с помощью голосового ключевого слова
Перейдите в меню Пуск > Параметры > Конфиденциальность и безопасность > Голосовая активация.
Установите для параметра Разрешить приложениям доступ к службам голосовой активации значение Вкл. или Откл.
Изменение возможности использования голосовой активации приложений, указанных на этой странице параметров, когда устройство заблокировано
Перейдите в меню Пуск > Параметры > Конфиденциальность и безопасность > Голосовая активация.
Разверните параметр Разрешить приложениям доступ к службам голосовой активации.
Установите для параметра Разрешить приложениям использовать голосовую активацию, когда устройство заблокировано значение Вкл. или Откл. Если параметр Разрешить приложениям доступ к службам голосовой активации отключен, нужно будет включить его, чтобы можно быть включить или отключить этот параметр.
Изменение возможности активации отдельного приложения с помощью голосового ключевого слова
Перейдите в меню Пуск > Параметры > Конфиденциальность и безопасность > Голосовая активация.
Включите или отключите каждое приложение в разделе Приложения, запросившие доступ к голосовой активации. Если параметр Разрешить приложениям доступ к службам голосовой активации отключен для вашей учетной записи пользователя, нужно будет включить его, чтобы можно было включить или отключить этот параметр.
В разделе Приложения, запросившие доступ к голосовой активации выберите приложение и установите для параметра, разрешающего приложению отвечать на ключевые слова, значение Вкл. или Откл.
Изменение возможности отдельного приложения использовать голосовую активацию, когда устройство заблокировано
Перейдите в меню Пуск > Параметры > Конфиденциальность и безопасность > Голосовая активация.
Разверните приложение в разделе Приложения, запросившие доступ к голосовой активации.
Установите или снимите флажок Использовать, даже если устройство заблокировано для этого приложения. Этот параметр должен быть включен для этого приложения, чтобы можно было установить или снять этот флажок.
Персонализация рукописного ввода и ввода с клавиатуры
В процессе рукописного ввода и ввода с клавиатуры на вашем устройстве система Windows собирает уникальные слова (например, записываемые вами имена) в личном словаре, который хранится на вашем устройстве и помогает повысить точность ввода с клавиатуры и рукописного ввода.
Отключение рукописного ввода и персонализации ввода, очистка личного словаря
В Windows 10 перейдите в меню Пуск > Параметры > Конфиденциальность > Персонализация рукописного ввода и ввода с клавиатуры, затем в разделе Наше знакомство переключите параметр в положение Откл.
В Windows 11 перейдите в меню Пуск > Параметры > Конфиденциальность и безопасность > Персонализация рукописного ввода и ввода с клавиатуры, измените значение параметра Личный словарь для рукописного ввода и ввода с клавиатуры на Откл.
Как отключить, включить панель рукописного ввода в Windows 10.
в Windows 7/8/10 03.02.2018 0 21,175 Просмотров
Windows 10 позволяет отключить и включить панель рукописного ввода. Это новая функция, которую можно открыть с сенсорной клавиатурой и набирать текст пальцами или стилусом (пером). На самом деле, нажав на значок панель ввода рукописного текста на ОСК превращает его в текстовый редактор. Когда ты набираешь алфавит или символы, здесь он точно распознает и преобразует его в корректной форме. Если вы хотите включить или выключить эту панель, Windows 10 в настройках приложения включает в себя такую возможность. Кроме того, вы можете сделать то же самое с простым твиком реестра. Давайте перейдем к настройке.
Как отключить, включить панель рукописного ввода на Windows 10
1. В настройках приложения
Шаг 1: Откройте настройки приложения с помощью клавиши Windows и I. Нажмите на устройства в категории настройка присутствующая на этой странице.
Шаг 2: Выберите перо и рукописный ввод Windows в левой панели. Быстро перейдите к разделу панель рукописного ввода и установите флажок в диалоговом поле которое включает связывающий контроль в поддерживаемых приложениях. Для отключения снимите флажок.
В настоящее время эта функция будет доступна для всех текстовых полей в xaml. Вы не можете использовать то же самое для Кортаны, адресной строки для Microsoft Edge, записей для календаря и отправке сообщений по электронной почте. Но, технический состав корпорации Microsoft усиленно пытается повсеместно внедрить эту функцию в будущих обновлениях.
Но у вас есть и другой способ, чтобы насладиться этой функцией.
Как включить панель рукописного ввода на Windows 10 с помощью редактора реестра
С небольшой правкой реестра, мы можем легко реализовать эту прекрасную возможность. Вот шаги, чтобы так сделать:
Шаг 1: перейдите в поле поиска рядом с кнопкой Пуск и введите команду regedit здесь.
Шаг 2: нажмите кнопку Ввод с клавиатуры, это будет вызывать окно редактора реестра на экране.
Шаг 3: перейдите к следующему пути в левой панели:
Шаг 4: после достижения целевого ключа, найдите параметр типа DWORD EnableEmbeddedInkControl. Сделайте двойной щелчок и введите значение 0 для выключения и 1 для включения панели рукописного ввода в Windows 10. Выберите ОК.
Примечание
С появлением Windows 10 сборки 17074, Microsoft внесла революционные изменения в особенности для устройств с сенсорными экранами. Теперь вы можете отключить включить панель рукописного ввода на Windows 10. Эта возможность для пользователей, которым не нравится иметь это в сенсорных устройствах. Microsoft участвует в принятии вещей пользователями проще и в будущем, вы увидите текстовое поле на классической панели рукописного ввода только прикосновением пера. До этих пор следите за этим способом и пользуйтесь с удовольствием.
Продукты и технологии:
DirectInk, приложения Universal Windows Platform
В статье рассматриваются:
В этой статье я рассмотрю, как вы сможете поспособствовать естественному для пользователя взаимодействию, используя рукописный ввод (inking). Так называемые цифровые чернила (digital ink) — во многом подобно перу на бумаге — «текут» с кончика вашего устройства перьевого ввода (digital pen device), стилуса, пальца или курсора мыши и визуализируются на экране. Чтобы приступить к работе с цифровыми чернилами и поддержкой рукописного ввода в Windows 10, я начну с обсуждения фундаментального вопроса: почему важно использовать рукописный ввод в приложении?
Люди столетиями выражали свои мысли и идеи через рукописный текст. Несмотря на изобретение мыши и клавиатуры, перо и бумага по-прежнему играют ключевую роль в нашей жизни — от стикеров и досок в наших офисах до тетрадей в школах и книжек-раскрасок для детей.
Письмо на бумаге отражает нашу индивидуальность и дает полную свободу, что делает его идеальным для выражения наших творчества и эмоций. Передача мыслей на бумаге и наброски схем в записках также удобнее для размышлений, запоминания и обучения, согласно исследованию за 2013 год, опубликованному в Psychological Science (bit.ly/1tKDrhv), в котором исследователи из Принстона и UCLA обнаружили, что рукописные заметки гораздо лучше для восприятия в долгосрочном плане, чем печатные.
Учитывая эти преимущества чернил над традиционным печатным вводом с клавиатуры, вообразите, что вы могли бы писать от руки на устройствах так же легко, как писать на бумаге, и задействовать вычислительную мощь компьютера для выполнения таких задач, которые нельзя выполнить в физическом мире. С помощью цифровых чернил вы можете легко варьировать цвет и внешний вид чернил, как и в реальном мире, но зайти несколько дальше, анализируя контент и форму рукописного ввода, чтобы предоставить метаданные, или преобразуя его в другой контент вроде текста, фигур или команд. Это открывает в рукописном вводе совершенно новое измерение, которое невозможно в ваших повседневных записях, что делает рукописный ввод мощным инструментом для рисования, создания заметок, аннотирования и взаимодействия в вашем приложении. По мере того, как рынок перьевых и сенсорных устройств продолжает расширяться, поддержка рукописного ввода становится важным методом взаимодействия для пользователей и разработчиков приложений.
В Windows 10 очень легко ввести поддержку цифровых чернил в приложение благодаря платформе DirectInk. DirectInk предоставляет набор богатых и расширяемых Windows Runtime (WinRT) API, которые позволяют вам принимать, визуализировать и управлять перьевым вводом в приложениях Universal Windows Platform (UWP). С помощью DirectInk вы получаете те же возможности и производительность в работе с перьевым вводом, что и браузер Microsoft Edge, Universal OneNote и Handwriting Panel. Вот краткий обзор средств, предлагаемых DirectInk вашему приложению.
Надеюсь, что к этому моменту вы заинтересованы начать использовать рукописный ввод в своем приложении. Теперь я рассмотрю, как использовать платформу DirectInk в приложении и предоставлять пользователям удобную среду для рукописного ввода.
Прием рукописного ввода в приложении
Чтобы приступить к использованию цифровых чернил, первым делом нужно настроить поверхность, где будет приниматься ввод, а затем визуализироваться как чернила. В приложения Windows 8.1 Store введение поддержки рукописного ввода в приложение было весьма основательным процессом, который включал создание Canvas, прослушивание событий ввода, создание и рендеринг каждого движения пера (strokes), используя написанный вами код рендеринга. В UWP-приложении начало приема рукописного ввода требует лишь перетащить InkCanvas в ваше приложение:
Как видно на рис. 1, единственная строка кода дает вам прозрачный оверлей, который начинает принимать перьевой ввод и визуализировать его так, будто вы пишете черной шариковой ручкой. Кнопка стирания траектории пера также стирает любой принятый через это перо ввод. Это просто великолепно при первых шагах в работе с чернилами, но что делать, если нужно изменять то, как принимается или отображается рукописный ввод?
.png)
Рис. 1. Применение InkCanvas для приема перьевого ввода с имитацией письма черной шариковой ручкой
Через InkCanvas вы можете обращаться к своему InkPresenter, который предоставляет функциональность для управления внешним видом и конфигурацией рукописного ввода. Хотя перьевой ввод обеспечивает самую удобную пользовательскую среду (UX) для работы с цифровыми чернилами, во многих системах нет пера. InkPresenter позволяет принимать «чернильные» данные при любой комбинации перьевого, сенсорного ввода и ввода от мыши, а типы ввода, не выбранные вами, будут просто доставляться как события указателя (pointer events) в XAML-элемент InkCanvas. С помощью InkPresenter вы также можете управлять атрибутами рисования «чернильных» данных, собираемых в InkCanvas, что позволяет изменять размер кисти, цвет и др. В качестве примера этих средств ваше приложение могло бы сконфигурировать InkCanvas на прием «чернильных» данных от пера, мыши и сенсорного ввода и эмуляцию каллиграфической кисти:
Это дало бы результат, приведенный на рис. 2.
.png)
Рис. 2. Эмуляция каллиграфической кисти, используя атрибуты DrawingAttribute в InkPresenter
DirectInk поддерживает гораздо больше встроенных конфигураций для ввода и его визуализации, позволяя вам выполнять рендеринг «чернильных» данных, как при использовании маркера, получать событие при приеме очередного движения кисти, обращаться к более детализированным событиям ввода с применением нескольких указателей в дополнительных конфигурациях.
Редактирование, сохранение и загрузка рукописного текста
Теперь, когда вы собрали какое-то количество «чернильных» данных, возникает вопрос: что с ними можно сделать? Пользователям часто нужна возможность стирать или редактировать свой рукописный ввод либо сохранять его для доступа впоследствии. Чтобы предоставить такие возможности своим пользователям, вам понадобится обеспечить доступ и модификацию «чернильных» данных для всех движений кисти, которые DirectInk визуализировал на экране.
Когда эти данные принимаются в InkCanvas, DirectInk сохраняет их в InkStrokeContainer внутри InkPresenter. Этот InkStrokeContainer содержит WinRT-объекты, представляющие каждое движение (штрихи) кисти на вашем холсте (canvas); когда приложение вносит изменения в этот контейнер, они визуализируются на экране. Это позволяет программным способом добавлять, удалять или модифицировать штрихи кисти, а также дает возможность DirectInk держать вас в курсе любых изменений, вносимых в штрихи кисти на экране. Давайте рассмотрим некоторые из распространенных операций взаимодействия, которые вы можете реализовать, используя связь между InkPresenter и его InkStrokeContainer.
Стирание Хотя InkCanvas поддерживает стирание с помощью кнопки стирания перьевого ввода по умолчанию, для стирания ввода от мыши и сенсорного ввода требуется некоторая настройка в InkPresenter. DirectInk предлагает встроенную поддержку стирания «чернил» для любого поддерживаемого ввода через свойство Mode в InputProcessingConfiguration. Вот пример кнопки, которая задает режим Erasing:
Когда эта кнопка нажата, весь DirectInk-ввод, принимаемый InkCanvas, интерпретируется как ластик. Если пользовательский ввод пересекается с каким-то штрихом после установки этого режима, этот штрих удаляется из InkStrokeContainer в InkPresenter и убирается с экрана. При использовании пера в режиме Inking нажатие кнопки стирания всегда обрабатывается как включение режима Erase.
Выделение К сожалению, на данный момент в DirectInk нет встроенной поддержки выделения, но предлагается способ самостоятельной разработки этой операции на основе событий Unprocessed Input (необрабатываемый ввод). Такие события генерируются всякий раз, когда DirectInk принимает ввод, который он должен прослушивать, но не визуализировать в «чернила». Это можно сделать для всего ввода, задав режим конфигурации обработки DirectInk как None, а также настроить это только для правой кнопки мыши и кнопки пера, используя свойство RightDragAction:
Например, на рис. 3 показано, как можно использовать события Unprocessed Input для создания петли выделения (рис. 4), позволяющей выделять штрихи на экране.
Рис. 3. Применение событий Unprocessed Input для создания петли выделения
.png)
Рис. 4. Выделение (выбор) штрихов с помощью петли
Выбрав штрихи, вы можете вызвать метод InkStrokeContainer.MoveSelected, чтобы транслировать штрихи, или использовать свойство InkStroke.PointTransform, чтобы применить к штрихам аффинное преобразование (affine transform). Когда штрих или набор штрихов, управляемых InkStrokeContainer, преобразуется таким образом, DirectInk будет подхватывать эти изменения и визуализировать их на экране.
Сохранение и загрузка DirectInk поддерживает сохранение и загрузку «чернильных» данных через Ink Serialized Format (ISF), который сохраняет эти данные в векторном формате, упрощающем их обмен и редактирование. Он доступен через InkStrokeContainer-функции SaveAsync и LoadAsync.
SaveAsync принимает данные штрихов, хранящиеся на этот момент в InkStrokeContainer, и сохраняет их как GIF-файл со встроенными ISF-данными. На рис. 5 показано, как сохранить штрихи из InkStrokeContainer.
Рис. 5. Сохранение «чернильных» данных из InkStrokeContainer
LoadAsync будет выполнять противоположную операцию, очищая штрихи, уже находящиеся в InkStrokeContainer, и загружая новый набор штрихов из ISF- или GIF-файла со встроенными ISF-данными. DirectInk после загрузки штрихов в InkStrokeContainer автоматически визуализирует их на экране.
Дополнительная функциональность
Хотя возможность редактирования и других операций над рукописным вводом на экране крайне важна для поддержки взаимодействия пользователей с «чернилами», ее может оказаться недостаточно для удовлетворения всех ваших потребностей. Чем сложнее ваши замыслы, тем больше вам придется отходить в своем приложении от набора взаимодействий, предоставляемых DirectInk по умолчанию. Давайте рассмотрим несколько способов, которыми DirectInk позволяет создавать богатые и разнообразные функции для работы c рукописным вводом.
Распознавание рукописного ввода Результаты такого ввода — это не просто пиксели на экране. Рукописный ввод пользователя может интерпретироваться как картинка, схема, фигура или текст. Распознавание позволяет сопоставить рукописный ввод с его сутью или заменить на представляемый им контент. Например, если пользователь пишет текст в приложении для заметок, вы можете распознавать текст, представляемый рукописным вводом, и использовать эти текстовые данные для генерации результатов поиска, когда пользователь вводит запрос в строку поиска. Такое распознавание текста обеспечивается InkRecognizerContainer. На рис. 6 показано, как с помощью InkRecognizerContainer интерпретировать рукописный ввод в качестве символов на упрощенном китайском (Simplified Chinese).
Рис. 6. Интерпретация рукописного ввода как символов на упрощенном китайском с использованием InkRecognizerContainer
Хотя это позволяет распознавать рукописный ввод как текст, у InkRecognizerContainer есть ограничение в том плане, что в настоящее время он поддерживает распознавание текста только из 33 языковых пакетов. Если бы вам понадобилось распознавать текст на другом языке или распознавать символы, фигуры или другие, более абстрактные интерпретации, то пришлось бы создавать соответствующую логику с нуля. К счастью, объект InkStroke содержит функцию GetInkPoints, которая дает возможность получать x/y-координаты каждой точки ввода, используемой для конструирования штриха. А значит, вы можете создать алгоритм для анализа точек ввода штриха или набора штрихов и интерпретировать их как угодно — в качестве символов, фигур, команд или чего-то другого.
Независимый ввод DirectInk — мощный механизм для рендеринга рукописного ввода, который действует в соответствии с простым набором правил для ввода: чернила либо визуализируются для данного штриха, либо — нет. Чтобы принять это решение, он анализирует поддерживаемые типы ввода, а также конфигурацию обработки ввода, предоставляемую для выбранного режима, и конфигурацию для действий с перетаскиванием правой кнопкой мыши. Это приводит к основательной нехватке контекста, который мог бы понадобиться вашему приложению для рукописного ввода, скажем, в определенных областях холста запрещать рисование рукописного ввода или поддерживать какой-то жест, после распознавания которого прием рукописного ввода прекращается. Чтобы дать возможность для принятия таких решений, DirectInk обеспечивает доступ ко вводу до того, как он начнет его обработку, через события Independent Input (события независимого ввода). Эти события позволяют вам анализировать ввод до его визуализации DirectInk, так что, если вы принимаете событие нажатия в области, где рукописный ввод не разрешен, или событие перемещения, которое завершается отслеживаемым вами жестом, вы можете просто помечать событие как Handled (обработанное).
Когда событие помечено как Handled, DirectInk прекратит обработку штриха, и, если штрих уже находится в процессе обработки, он будет отменен и удален с экрана. Однако вы должны соблюдать осторожность, используя эти события. Поскольку они происходят в фоновом потоке DirectInk, а не в UI-потоке, любая интенсивная обработка, выполняемая вами в обработчике этого события, или ожидание операций, выполняемых в более медленном потоке, таком как UI-поток, может привести к задержке, которая заметно отразится на времени реакции на ваш рукописный ввод.
Режим Custom Drying Одно из самых сложных средств DirectInk — режим Custom Drying (настраиваемое высыхание), который позволяет вашему приложению визуализировать и управлять завершенными, или «сухими», чернильными штрихами на вашей поверхности DirectX, в то же время давая возможность DirectInk высокоэффективно обрабатывать визуализацию еще не завершенных, или «влажных», штрихов. Хотя режим высыхания по умолчанию в DirectInk позволяет обрабатывать большинство сценариев, которые могут вам понадобиться в приложении, несколько сценариев требуют независимого управления рукописным вводом:
В Windows 10 режим Custom Drying поддерживает синхронизацию с SurfaceImageSource (SIS) или VirtualSurfaceImageSource (VSIS). Как SIS, так и VSIS предоставляют общую (shared) поверхность DirectX для вашего приложения, на которой оно должно рисовать и выполнять композицию, но VSIS создает виртуальную поверхность, большую размера экрана, для высокопроизводительного панорамирования и масштабирования. Поскольку визуальное обновление этих поверхностей синхронизируется с XAML UI-потоком, при рендеринге рукописного ввода в SIS или VSIS он может одновременно удаляться из «влажного» слоя DirectInk. Custom Drying также поддерживает высыхание чернил в SwapChainPanel, но не гарантирует синхронизацию. Так как SwapChainPanel не синхронизируется с UI-потоком, будет небольшое перекрытие между моментом рендеринга рукописного ввода в SwapChainPanel и моментом его удаления из влажного слоя DirectInk.
Активировав Custom Drying, вы получаете тонкий контроль над большей частью функциональности DirectInk, которую она предоставляет по умолчанию, что позволяет вам писать логику, управляющую тем, как происходит визуализация «чернильных» данных и их стирание с сухой поверхности, а также определяющую, как ваше приложение управляет данными «чернильных» штрихов. Чтобы помочь вам в создании этой функциональности, многие компоненты DirectInk доступны в виде автономных объектов. Когда активируется Custom Drying, DirectInk предоставляет объект InkSynchronizer, который позволяет начинать и заканчивать процесс высыхания, чтобы чернила удалялись из влажного слоя DirectInk синхронно с тем, как вы добавляете их в собственный сухой слой. Логика рендеринга сухих чернил DirectInk по умолчанию также доступна через InkD2DRender, который обеспечивает согласованное появление чернил между влажным и сухим слоями. В случае стирания можно использовать события Unprocessed Input для создания логики стирания по аналогии с более ранним примером.
Более подробные сведения и примеры использования Custom Drying см. в примере ComplexInk на GitHub по ссылке bit.ly/1NkRjt7.
Заключение
Используя все то, что вы узнали на данный момент об InkCanvas, InkPresenter и InkStrokeContainer, вы можете теперь принимать «чернильные» данные для разных типов ввода, настраивать внешний вид этих данных на экране, обращаться к данным штрихов и вносить в них изменения, которые отражаются в том, что визуализирует DirectInk. С помощью этого простого уровня функциональности можно создавать широкий спектр операций взаимодействия с пользовательским вводом — от простого рисования каракулей до реализации более ориентированных на специфические сценарии средств вроде записи заметок и приема подписи пользователя. Кроме того, у вас есть средства для создания более сложных операций взаимодействия через InkRecognizerContainer, события Independent Input и режим Custom Drying.
Благодаря этим средствам ваше приложение сможет задействовать все преимущества цифровых чернил. Поскольку количество устройств с поддержкой перьевого и сенсорного ввода постоянно увеличивается, обеспечение удобной UX для рукописного ввода становится все важнее для завоевания благосклонности пользовательской аудитории. Надеюсь, что вы не пожалеете некоторого времени на то, чтобы обдумать, как поддержка цифровых чернил могла бы работать в вашем приложении, и приступите к экспериментам с DirectInk.
И в заключение замечу, что поддержка рукописного ввода по-прежнему остается важной областью инвестиций для Microsoft, и одним из главных ключей к совершенствованию и расширению платформы DirectInk в будущих выпусках является обратная связь с нашим сообществом разработчиков. Если у вас возникнут какие-либо вопросы, комментарии или идеи в процессе разработки с применением DirectInk, пожалуйста, направляйте их по адресу DirectInk@microsoft.com.
Коннор Уейнс (Connor Weins) — менеджер программ, работает в подгруппе Pen, Stylus and Inking группы Windows Developer Ecosystem Platform. С ним можно связаться по адресу conwei@microsoft.com.
Выражаю благодарность за рецензирование статьи экспертам Microsoft Кришнану Менону (Krishnan Menon) и Шиоу Ту (Xiao Tu).




