簡體   English   中英

如何查找鼠標單擊是否在wf面板中呈現的圖像上?

[英]How to find if mouse click is on an image rendered in a wf panel?

首先讓我說我喜歡這個網站,並經常在我發布之前找到我的問題的答案。 現在我有一個問題,我似乎無法找到答案。 我還要提一下,我對編程有點新意,並且只做了幾個月。

隨之而來的是這里發生了什么。

我有一個帶有system.drawing圖形的面板,所以我可以渲染圖片。

通過我渲染到面板的這些圖片,我希望能夠移動它們,然后與它們交互並旋轉它們。 有點像一個拼圖游戲。

我可以讓圖像渲染,但需要一種方法來判斷我的鼠標是否位於該位置最后渲染的圖片上方。 由於圖像可能會渲染到另一個圖像的上方,我想要獲得最上面/最后一個渲染圖像。

目前我有一個列表中的圖像被渲染,我有自己的幾個想法。

  1. 在鼠標單擊時,我最后掃描所有圖像列表,然后找到當前正在該點中呈現的圖像,這將是我的圖像。

  2. 重新渲染屏幕的第一個,一旦像素發生變化,鼠標就是我的圖像。

  3. 為每個像素分配一個圖像值,並且在渲染圖像時,其上的像素被分配給該圖像,鼠標只能拉動該圖像。

任何幫助或反饋將不勝感激。

謝謝。

您使用的方法可能在很大程度上取決於您的應用程序。 在不了解您嘗試解決的問題的情況下,3似乎是最好的。

使用選項3,大部分工作在添加每個圖像時執行(即將其值分配給它所覆蓋的像素)。 當您添加圖像時,其他選項可能在計算上不那么昂貴,但每次鼠標點擊都會更昂貴。 假設這適合你的應用程序(如果它類似於你所說的拼圖,它很可能會這樣做)我會選擇類似的東西。

它還假設您的圖像是矩形,其中可以根據角添加值,而不是任意形狀,其中必須手動計算圖像中的所有點。 使用任意形狀來確定哪種方法更快將更難以解決。

總之,您最好決定更頻繁地執行哪些操作(添加圖像或鼠標點擊)並在另一個上執行工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM