2012-05-08 39 views
7

有什麼方法可以用javascript來識別筆壓力。 最好我不想做任何Flash的使用,並嘗試把它做成純JS。我可以在Javascript中識別(圖形輸入板)Pen Pressure嗎?

編輯:好的,我意識到它是有可能的Wacom片劑,因爲他們來與軟件,可以與他們的JavaScript API使它成爲可能(demos)。但對於信任平板電腦或任何其他品牌的用戶來說,這並不是好事......因此,沒有什麼好處。

任何機構知道如何在C#中如果不是JS?

回答

15

是 - 如果用戶安裝了Wacom數位板,那麼他們的瀏覽器會有一個您可以訪問的插件。http://www.wacomeng.com/web/index.html

+1

這是最好的答案。不幸的是,沒有完美的解決方案,因爲平板電腦技術遠沒有標準化。請記住,Mac上的Chrome中的Wacom Bamboo平板電腦(CTL-460)目前存在一個小錯誤(可能也在Windows上,但未經過個人測試),導致isEraser變量無論如何顯示爲true最終實際上是在使用中。 [這個句子鏈接到Chromium Bug Report](http://code.google.com/p/chromium/issues/detail?id=160423) – Adrian

+1

不幸的是,自2014年Jaunary Chrome開始逐步淘汰NPAPI支持(http:// www.chromium.org/developers/npapi-deprecation),所以即使你有這個插件,也不會被Chrome加載:(只是在MacOSX優勝美地上試過它,它在Safari上運行,但不在Chrome中運行) – Diego

1

不,這是不可能的。甚至沒有使用Flash。

0

您只能在原生應用程序中這樣做。 Javascript無法訪問筆壓力信息

0

作爲一種編程語言,Javascript本身沒有比其他語言更多的能力或缺乏讀取此類數據的能力。

語言不重要。重要的是從語言中可以使用的API。

Javascript可以運行在許多不同的環境中,其中一些可能可以訪問這類硬件的API。然而,大多數JavaScript運行在網絡瀏覽器環境中,這顯然是你的意思。

Web瀏覽器環境提供了許多API。最明顯的是DOM,它可以讓你操縱頁面等。儘管如此,瀏覽器中還有其他API。例如,地理定位API。

所有這些都是由W3C定義的標準API(或者在某些情況下正在由W3C定義的過程中),這意味着所有支持它們的瀏覽器都應該使它們以相同的方式工作。

不幸的是你沒有一個標準的API用於壓力墊的工作,所以你的問題的直接答案是否定的,不能這樣做。

未來會否有人可以見到,但我有疑慮。

有一種方法可以做到:ActiveX。

ActiveX是微軟在舊版IE中提供的API。它基本上提供了一種從瀏覽器中訪問幾乎任何Windows DLL代碼的方法。

由於用於Windows的壓力筆設備驅動程序將作爲DLL提供,這意味着理論上應該可以通過ActiveX控件在瀏覽器中訪問它。所以,是的,你可以使用Javascript進行編程。

不過壞消息是,這不是我推薦的。作爲一種基於瀏覽器的技術,ActiveX早已被放棄,原因是它造成了巨大的安全漏洞。我不認爲IE的最新版本甚至支持它(我希望不會),這意味着你將被迫使用舊版本的IE(並且只有IE - 沒有其他瀏覽器曾支持它)才能運行你的代碼。不理想。

10

微軟在IE 11中實現了一個名爲Pointer Events的東西。它允許你訪問壓力屬性以及諸如筆傾斜和接觸幾何尺寸之類的東西。

到目前爲止,它只適用於IE11(和帶有供應商前綴的IE10),但有一個W3C candidate recommendation,所以也許它將在未來標準化。

+0

你可以使用[pressurejs](https://pressurejs.com/)來使用它,它似乎也支持各種其他API(iOS和Apple鉛筆) – Wouter

+0

現在Chrome和Opera也支持這一功能,以及Firefox中的實驗。 – Andreas

相關問題