Basics
Introduction
This page offers a brief overview of Microsoft Ink APIs, information on where to look for information about the APIs, and where to find further information on how to create ink-enabled programs using these APIs.
The Microsoft Ink APIs provide a range of support for adding ink detection to applications that can be run on most versions of Windows. Such support includes:
- A UI ink “canvas” element
- Ink collector objects for the collection and processing of strokes
- Ink presentation objects for rendering
- Ink recognizer objects for text and shape recognition
- An API that can be used to respond to ink pointer events
Microsoft Ink API App High-Level View
Because there is such a wide range of Microsoft ink support, we shall not attempt to capture all of the programming concepts for each API here. However, there are logical API components that are common to all of the ink APIs.
Here is a very simplified overview of the main components of an ink API app as it applies to capturing ink data from a Wacom tablet. Note that the representation shows both rendering and recognizing strokes, but only one of these functional components may be added. The purple boxes represent Microsoft Ink API components (such as the InkCollector, InkPresenter, and InkRecognizer), while the orange boxes are developer-added components (which may also include Microsoft Ink API support). The white boxes represent display screen output.
Microsoft Ink API Namespaces
There are a number of Microsoft Ink API namespaces that support the development of ink applications:
- RealTimeStylus classes and interfaces
- System.Windows.Controls
- System.Windows.Ink
- Microsoft.Ink
- System.Windows.Input.StylusPlugins
- Windows.Devices.Input
- Windows.UI.Xaml.Controls
- Windows.UI.Input.Inking
Please see the Reference page for links to these namespaces, as well as a list of the main inking objects within each of them.
Learning About Microsoft Ink API Programming
Here is a list of good starting points for learning about Microsoft ink programming:
- https://docs.microsoft.com/windows/win32/tablet/pen-input--ink--and-recognition
- https://docs.microsoft.com/windows/win32/input_ink/input-ink-portal
- https://docs.microsoft.com/windows/uwp/design/input/ink-walkthrough
- https://docs.microsoft.com/windows/win32/tablet/accessing-and-manipulating-stylus-input
- https://blogs.windows.com/windowsdeveloper/2016/11/21/windows-ink-1-introduction-to-ink-and-pen/
- https://blogs.windows.com/windowsdeveloper/2016/11/22/windows-ink-2-digging-deeper-with-ink-and-pen/
- https://blogs.windows.com/windowsdeveloper/2016/11/23/windows-ink-3-beyond-doodling/
- https://www.codeproject.com/Articles/19102/Adventures-into-Ink-API-using-WPF
Microsoft Ink Code Samples
There are numerous inking sample code snippets in the Microsoft documentation throughout https://docs.microsoft.com.
Some additional sites for good sources of inking sample code can be found at:
- https://developer.microsoft.com/windows/samples/
- https://www.codeproject.com/
- https://www.youtube.com/results?search_query=Windows+ink+examples
- https://docs.microsoft.com/windows/uwp/design/input/pen-and-stylus-interactions
- https://docs.microsoft.com/samples/microsoft/windows-universal-samples/simpleink/
See Also
Overview - Introduction to and overview of Microsoft Ink APIs
Reference – Microsoft Ink API details
FAQs – Useful Ink API programming tips
Where To Get Help
If you have programming questions about using the Microsoft Ink APIs with Wacom products, please visit please visit Wacom support: https://developer.wacom.com/developer-dashboard/support.
You may also visit Microsoft support for detailed information on the Microsoft Ink APIs from the Microsoft developer community and experts.