我有一個勝利形式的應用程序,我可以在其中繪製一些形狀(如矩形/圓形),也可以填充顏色。 現在,如果我選擇了一個畫筆來填充一個形狀(比如矩形),然後單擊形狀的'邊界'(我不想在這種情況下填充形狀), 如何檢測'點'在形狀的邊界上(我的意思是'邊緣')。如何檢測一個點是否在形狀的邊界(即'邊緣')
1
A
回答
1
將形狀表示爲GraphicsPath,然後使用IsOutlineVisible來確定是否這一點在綱要之下。
IsVisible()方法會告訴你該點是否在整個GraphicsPath中。
1
你有2個座標的形狀位置。
shape.X
shape.Y
你還形狀的大小
shape.Height
shape.Width
你有鼠標位置的座標
mouse.X
mouse.Y
如果mouse.X是shape.X和shape.X之間+ shape.Width和mouse.Y等於shape.Y或shape.Y + shape。對於矩形的高等等
對於不同的但「正規」的形狀,你應該計算它在similarway
對於複雜的和不規則的形狀,你應該把它驚到SMaL公司件,照此計算:
檢查:determine if a point sits inside an arbitrary shape?
如果形狀被轉換爲位圖的另一種方式可能是檢查像素顏色,但只有當形狀邊緣顏色與形狀中的其他像素不同時,這才起作用
相關問題
- 1. 邊緣檢測後的形狀識別
- 2. 檢測邊緣是否是在一個週期內最重的邊緣
- 3. Matlab - 將點正交傳播到形狀邊界的邊緣
- 4. 檢查點是否位於(或靠近)凸多邊形邊緣
- 5. AForge.net邊緣檢測 - 如何獲得邊緣點?
- 6. 使用邊緣檢測和邊界框的MATLAB對象檢測
- 7. Canny邊緣檢測器檢測到所述圖像的邊界
- 8. 如何檢查是否一個點是一個多邊形
- 9. 立即在頂點左邊的邊緣
- 10. (CGAL)如何確定邊緣是否在三角形的邊界上?
- 11. 邊界與變形的邊緣
- 12. 如何測量邊緣檢測圖像邊緣的長度?
- 13. SQLite點檢查一個點是否在一個多邊形內
- 14. 如何檢查一個點是否在KML多邊形(GIS Shapefile)
- 15. 如何檢測不規則形狀的邊界?
- 16. WPF邊界形狀
- 17. 在Canvas中創建Canny邊緣檢測的形狀
- 18. 動力學JS - 檢測點擊邊界形狀
- 19. SQLITE邊緣檢測
- 20. VHDL邊緣檢測
- 21. Canny邊緣檢測
- 22. qTip2邊緣檢測
- 23. 檢測圖像中的U形邊緣
- 24. 如何檢測兩個多邊形是否具有相同的形狀?
- 25. 如何檢查Spark Graphx圖形中是否存在邊緣
- 26. 邊界檢測
- 27. 邊界檢測
- 28. 圖像邊緣/形狀檢測在OpenCV中
- 29. 如何檢測多邊形的邊角?
- 30. 檢查點是否在多邊形中
很好的答案!不知道GraphicsPath! +1 – giammin
@Idle_Mind:非常感謝。我永遠不會找到這個。 –
.Net是一個大世界。我已經使用它十年了,而且我仍然在發現「新」功能;至少他們對我來說是「新」! –