我在WPF中的高精度像素导向图像程序中遇到了惊人的困难,并且开始怀疑Cursors.Cross光标热点并不在它的中心,正如你所预期的那样。
我使用16倍的Magnifier和设置为最低加速的鼠标进行调试。代码是基于DrawTools from CodeProject的。
这和你在Winforms中得到的光标是一样的吗?如果是这样,我可以查看游标的热点- System.Windows.Input中的Cursor类没有hotspot属性。
更新
如果有人正在寻找解决方法,在我的例子中,我已经调用了一个代理来过滤点,这样我就可以实现捕捉到网格的行为。将该点偏移1来进行补偿是微不足道的。这比创建自定义光标容易得多,而且优点是,如果股票光标的外观发生变化,我仍然可以使用它。
发布于 2010-02-12 06:15:41
我有一个经验性的答案,是的,热点是偏移的。
我修改了程序,可以通过按键触发图形模式,所以你不需要移动鼠标。
使用与上面快照相同的放大镜视图,只需按下一个键来更改模式,即可在箭头和十字之间切换光标。
当我切换时,它会绘制光标,这样黑色线条就会以正常箭头光标的左上角为中心。
箭头光标热点位于它所指向的像素(而不是黑色像素),所以是的,十字光标热点不在十字光标的中心!
叹息
https://stackoverflow.com/questions/2247778
复制相似问题