我正在构建一个应用程序,用户可以将其Android平板电脑用作图形平板电脑,例如https://play.google.com/store/search?q=gfxtablet
我的服务器程序是用Java编写的,我成功地能够通过UDP从我的平板电脑向服务器发送手写笔坐标和压力值,并能够在Paint,Photoshop等应用程序中绘图。
问题:
我无法找到在Windows中注入此压力值的方法(根据手写笔压力绘制粗细线)。我知道它可以在Linux中轻松完成,但我无法找到适合Windows的方法。
我甚至尝试过Java的JNA库,但它似乎也没有适当的方法来输入压力值。我知道JPEN& JTABLET库但这些库不允许您使用Paint,Photoshop,GIMP等进行绘制。
答案 0 :(得分:0)
您可以尝试使用java中的Robot类来模拟本机系统输入事件。然后存储局部变量以测试输入,并通过Robot类触发这些事件。
基本上,对于Windows Paint,只要压力大于之前的压力,就会触发一个机器人事件,该事件发送组合键CTRL和+以增加画笔宽度。
如果您还在测试打开的应用程序,那么您可以设置一个单独的代码段来确定要发送的组合键(因为在photoshop中keybind是[和]),或者有一个允许的部分用户指定他们的键绑定是什么。
虽然当前迭代使用awt,Robot is being added to JavaFX/Lombard in 3.0.
我确信有更好的解决方案,但这是我要做的事情,直到我有更好的东西。 :)