I'm using a Wacom Bamboo Pen tablet and I'd like to be able to get its pen pressure value in my application written in C#. How do I do that? Is there maybe an API that allows one to get pen values on Windows 7?
Wacom provides an extensive API to get data directly from the tablet.The API includes example code for detecting pressure, tilt and other interactions:
- Tilt Test: Demonstrates pressure, use of the eraser and pen tilt properties
- Pressure Test: Demonstrates how to detect and display pen pressure
These code samples are in C, but there are also examples that in c#.net that include code to handle pressure:
- WintabDN: Interface, scribble and tablet control samples using Wintab .NET
Using this project as an example, you can get the pressure like this:
// Create a data object and hook a packetlistener to receive
// updatse by the tablet
m_wtData = new CWintabData();
m_wtData.SetWTPacketEventHandler(handler);
//Handles packet receive event
void handler(object sender,MessageReceivedEventArgs e)
{
//Get the packet id
uint pktID = (uint)eventArgs_I.Message.WParam;
//Get the data for that packet
WintabPacket pkt = m_wtData.GetDataPacket((uint)eventArgs_I.Message.LParam, pktID);
//Grab the pressure
var pressure = pk.pkNormalPressure.pkAbsoluteNormalPressure;
}
Next, here is a CodeProject that explains how to use the Wacom Tablet with the WPF InkCanvas
A good starting point for any tablet related development on windows is also the Ink API.
Can be a starting point
http://www.codeproject.com/Articles/46281/Digitizer-interface-in-C-using-VBTablet
Thats the right link to the project: http://sourceforge.net/projects/vbtablet/
来源:https://stackoverflow.com/questions/17383203/how-to-get-graphic-tablet-pen-pressure-value