2013-06-29 22 views
3

我正在使用Wacom Bamboo Pen平板電腦,我希望能夠在用C#編寫的應用程序中獲得它的筆壓力值。我怎麼做?有沒有可以讓人在Windows 7上獲得筆值的API?如何獲取圖形輸入板筆壓力值?

+0

有人可以添加'graphics-tablet'標籤到這個問題嗎? – user1306322

+0

您使用的是WPF嗎?在WPF的MouseEventArgs中,有一個StylusDevice屬性可以獲得StylusPoint的集合。每個點都有一個PressureFactor屬性。 –

+0

@SimonMourier我無法在任何地方找到它。看起來它在'System.Windows.Input'命名空間中,但是在默認的一組組件中沒有看到它的引用。我是否缺少一些軟件包? – user1306322

回答

12

Wacom公司提供了一個extensive API直接從tablet.The API獲得的數據包括例如代碼,用於檢測壓力,傾斜等相互作用:

  • Tilt Test:演示壓力,使用橡皮擦和筆傾斜性質
  • Pressure Test的:演示如何檢測並顯示筆壓力

這些代碼示例是在C,但也有實施例,在C#的.NET,其包括代碼以處理壓力:

  • WintabDN:接口,塗鴉和平板的對照樣品使用WINTAB .NET

使用這個項目爲例,你可以得到這樣的壓力:

// 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; 
} 

接下來,這裏是一個CodeProject解釋如何與WPF InkCanvas

一個很好的出發點,任何使用Wacom數位板在windows上的平板相關開發也是Ink API