哪种 Microsoft Ink API 框架最适合我的应用程序?
这是开发人员根据目标平台、操作系统和所需桌面应用程序类型做出的选择。Wacom 强烈建议使用最新的 Windows 10 Microsoft Ink API,因为它们在所有 Windows 10 支持的平台上提供最广泛的墨水支持。请参阅Windows Ink - 参考了解更多信息。
还有哪些其他选项可用于将墨迹添加到我的应用程序?
还有两个其他 API 可以考虑:Wintab(此处概述:Wintab - 概述)和WILL SDK。从技术上讲,Wintab 不提供系统墨水,但它确实支持将非常高质量的平板电脑数据传送到您的应用程序。WILL Ink API 在支持笔划渲染和语义分析的结构框架内提供系统墨水数据。
在我的应用程序中使用 Microsoft Ink API 与 Wintab 的优缺点是什么?
请在 Wintab 常见问题解答页面上查看每个 API 的Wintab 优缺点列表。
哪些类型的应用程序受益于使用 Microsoft Ink API
请参阅Windows Ink - 概述以获取典型墨水应用程序的列表。
Wacom 设备是否支持 Windows Ink API?
此 API 支持 Wacom 驱动程序支持的所有 Wacom 数位板。从以下网址获取支持您的设备的数位板驱动程序:https ://www.wacom.com/support/product-support/drivers 。
通过 Wintab 返回的墨迹数据与通过 Microsoft Ink API 支持的数据相比如何?
下表提供了可从 Wintab 和 Microsoft Ink API (MIS) 获得的笔属性的高级摘要:
桌子
财产 | 笔记 |
---|---|
时间戳 |
Wintab:根据 Wintab 上下文,指定从硬件发送墨水数据包的时间(以毫秒为单位)(绝对模式),或自上一个数据包以来经过的时间(以毫秒为单位)(相对模式)。绝对模式时间戳与系统时钟同步。 MIS:指定应用程序收到墨水数据包时的数据包时间(以毫秒为单位)。 |
X |
Wintab:X 平板电脑或屏幕坐标(像素),具体取决于 Wintab 上下文。 MIS:设备无关像素 (DIP) 中的 X 屏幕坐标。 |
是 |
Wintab:Y 平板电脑或屏幕坐标(像素),具体取决于 Wintab 上下文。 MIS:设备无关像素 (DIP) 中的 Y 屏幕坐标。 |
Z |
Wintab:平板电脑表面上方的高度(任意计数)。 MIS:片剂表面上方的高度(任意计数)。 |
尖端压力 |
Wintab:从 0 到最大笔压力的笔尖到表面压力数据值。 MIS:从 0 到最大笔压力的笔尖到表面压力数据值。 |
切向压力 |
Wintab:仅针对喷枪笔上的轮子报告的无单位数字。 MIS:不支持。 |
笔方向(倾斜) [并非所有笔都支持倾斜] |
倾斜是: XTilt:YZ 平面与包含 Y 轴和输入设备(通常是笔/手写笔)轴的平面之间的平面角度。 YTilt:XZ 平面与包含 X 轴和输入设备(通常是笔/手写笔)轴的平面之间的平面角度。 Wintab:支持方向(扭曲)角的计算,如通过 Wintab DVC_ORIENTATION WTInfo 查询所述。 MIS:支持所描述的方向角值。 |
Pen Rotation(扭曲) 【并不是所有的笔都支持扭曲】 |
旋转是: 笔设备绕其自己的主轴顺时针旋转度数(例如当用户在手指中旋转笔时)。 Wintab:支持通过 Wintab DVC_ORIENTATION WTInfo 查询描述的旋转(扭曲)角度。 MIS:支持描述的旋转角度值。 |
纽扣 |
Wintab:支持访问所有笔按钮。 MSI:支持除上桶外的所有 Wintab 支持的按钮。 |
光标 |
Wintab : 指定生成数据包的游标。光标类型对应于笔类型(例如,grip、airbrush、art 等)。有关光标的更多信息,请参阅Windows Ink - 基础知识。 MSI:必须使用低级 API,PointerPointProperties.GetUsageValue与设备 usagePage 和 usageId |
笔序列号 |
Wintab:返回游标的特定于制造商的物理标识符(在 Wintab 上称为 CSR_PHYSID)。该值将把特定的物理笔与其他相同型号的笔区分开来。 MSI:必须使用低级 API,PointerPointProperties.GetUsageValue与设备 usagePage 和 usageId |
Wintab API:Wintab - 概述
Windows.UI.Input.PointerPoint 类:https://docs.microsoft.com/uwp/api/windows.ui.input.pointerpoint
Windows.UI.Input.PointerPointProperties 类:https://docs.microsoft.com/uwp/api/Windows.UI.Input.PointerPointProperties
在哪里可以找到有关 Microsoft Ink API 的信息?
最好的信息来源是https://docs.microsoft.com上的 Microsoft 文档。您还可以参考Windows Ink - 基础页面上“更多信息”中的信息链接列表。
在哪里可以找到 Microsoft Ink API 编程示例代码?
Windows Ink - 基础页面上有一个编程示例源列表。
在哪里可以找到有关 Microsoft Ink API 编程的更多信息?
查看Windows Ink - 基础页面上的编程示例和信息链接。
我的 Ink 应用程序不适用于我的 Wacom 设备。我该怎么做才能排除故障?
为确保从您的 Wacom 设备启用墨水以在您的应用程序中使用,您可以按照以下步骤尝试查找问题:
- 确保您拥有支持您的设备的 Wacom 驱动程序:https://www.wacom.com/support/product-support/drivers。
- 连接您的 Wacom 设备并确认设备手写笔可以移动光标并选择桌面上的对象。
- 打开 Windows Ink Workspace 应用程序、Whiteboard,并确认您可以使用设备手写笔在压力下绘图。有关详细信息,请参阅https://support.microsoft.com/help/17207/windows-10-use-windows-ink。
- 在您的应用程序中,检查该应用程序是否确实在接收墨迹数据包,以及数据包坐标是否已正确映射到您的应用程序客户端空间。
- 打开数位板首选项并确保在您正在使用的笔的映射选项卡上启用了 Windows Ink 复选框。
- 如果一切都失败了,请联系开发人员支持:https ://developer.wacom.com/developer-dashboard/support 。
为什么当我尝试绘制小点时,我的墨水应用程序会出现问题?
图形应用程序中需要非常小的墨点(即所谓的“点画”)的操作可能无法正常工作,因为用户系统设置为按住鼠标右键单击 (PHRC),导致系统将点画操作误解为试图激活 PHRC。一种解决方案是禁用 PHRC。另一个好的解决方案是在您的应用程序中使用Wintab作为墨水源,因为它不使用系统墨水。
为什么我的 Ink 应用程序中的某些控件不响应笔输入?
在某些版本的Windows 10 Creative Update中,使用墨水笔会导致选择应用控件(下拉菜单、文本选择、PHRC 等)时出现问题。这些问题在随后的 Windows 10 补丁版本中得到了解决。但是,由于 Microsoft 不断改进其 Windows 10 墨迹书写体验,因此最好使用最新的 Windows 10 版本测试您的墨迹应用程序,以确保这种负面体验不会影响您的用户。防止这种行为的一种方法是使用 Wintab 作为应用程序的笔输入源(用于创意墨迹内容和 UI 交互)。请参阅Wintab - 概述。