如何查找鼠标点击是否在wf面板中渲染的图像上

本文关键字:wf 图像 是否 何查找 查找 鼠标 | 更新日期: 2023-09-27 18:26:57

首先让我说我喜欢这个网站,经常在发布之前找到问题的答案。现在我有一个问题似乎找不到答案。让我也提一下,我对编程有些陌生,而且才做了几个月。

有了这些,这就是发生了什么。

我有一个带有系统的面板。它附带了绘制图形,这样我就可以渲染出图片。

有了这些我渲染到面板上的图片,我希望能够移动它们,然后与它们交互并旋转它们。有点像拼图游戏。

我可以获得要渲染的图像,但需要一种方法来判断我的鼠标是否在上次在该位置渲染的图片上。由于一个图像可能会渲染到另一个图像的顶部,所以我想获得顶部/最后一个渲染的图像。

目前,我有一个列表中的图像进行渲染,我确实有一些自己的想法。

  1. 单击鼠标,我会倒数第一地扫描所有图像列表,找到一个当前正在该位置渲染的图像,这就是我的图像。

  2. 从上到下重新渲染屏幕,只要鼠标所在的像素发生变化,这就是我的图像。

  3. 为每个像素指定一个图像值,在渲染图像时,会为其上的像素指定该图像,鼠标只需拖动该图像即可。

如有任何帮助或反馈,我们将不胜感激。

谢谢。

如何查找鼠标点击是否在wf面板中渲染的图像上

您使用的方法可能在很大程度上取决于您的应用程序。在不太了解你想做什么的情况下,解决方案3似乎是最好的。

对于选项3,大部分工作都是在添加每个图像时进行的(即将其值分配给它所覆盖的像素)。其他选项可能在添加图像时计算成本较低,但每次鼠标单击都会更高。假设这适合你的应用程序(如果它像你所说的拼图一样,很可能会这样),我会选择这样的东西。

它还假设图像是矩形形状,可以根据角添加值,而不是任意形状,其中图像中的所有点都必须手动计算。对于任意形状,计算出哪种方法更快将更难计算。

总之,您最好决定更频繁地执行什么操作(添加图像或单击鼠标),然后在另一个操作中执行工作。