【问题标题】:Is the hotspot of the WPF Cross cursor in the middle of the crosshair?WPF十字光标的热点是否在十字准线的中间?
【发布时间】:2021-12-31 00:44:38
【问题描述】:

我在使用 WPF 中的高精度像素导向图像程序时遇到了惊人的困难,并且开始怀疑 Cursors.Cross 光标热点不在其中心,正如您所期望的那样。

我正在使用Magnifier 以 16 倍的速度进行调试,并将鼠标设置为最低加速度。代码基于DrawTools from CodeProject

这与您在 Winforms 中获得的光标相同吗?如果是这样,我可以查看该光标的热点 - System.Windows.Input 中的 Cursor 类没有 HotSpot 属性。

更新

如果有人正在寻找解决方法,就我而言,我已经调用了一个委托来过滤这些点,这样我就可以实现对齐网格的行为。将点偏移 1 以进行补偿是微不足道的。这比创建自定义光标要容易得多,而且如果它的外观发生变化,我仍然使用普通光标。

【问题讨论】:

  • 仅供参考,由于缺少 https,因此无法显示图片链接。由于代理原因,我不确定链接是否为 404。
  • 抱歉,托管图片的网站已关闭,感谢您指出这一点,我会在今天发布时修复。

标签: wpf mouse-cursor


【解决方案1】:

我有一个经验答案,是的,热点是偏移的。

我修改了程序,可以通过按键触发图形模式,所以你不需要移动鼠标。

使用与上面快照相同的放大镜视图,只需按一个键更改模式即可在箭头和十字之间切换光标。

当我切换它时,它会绘制光标,使黑线居中于普通箭头光标的左上角。

箭头光标热点位于它指向的像素(不是黑色像素),所以是的,十字光标热点不在十字准线的中心!

叹气

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2018-09-16
    • 1970-01-01
    相关资源
    最近更新 更多