我如何跟蹤面板上繪製的非矩形圖形上的鼠標事件?c#:我如何跟蹤面板上繪製的非矩形圖形上的鼠標事件?
當使用可以包含在矩形邊界框內的矩形圖形或圖形時,我只使用Rectangle.Contains。我如何處理非矩形形狀。
我如何跟蹤面板上繪製的非矩形圖形上的鼠標事件?c#:我如何跟蹤面板上繪製的非矩形圖形上的鼠標事件?
當使用可以包含在矩形邊界框內的矩形圖形或圖形時,我只使用Rectangle.Contains。我如何處理非矩形形狀。
如果您創建的GraphicsPath那麼你都畫出來(Graphics.DrawPath),並且還命中測試與GrapicsPath.IsVisible。如果圖形與重疊的油漆層錯綜複雜,那麼你可以畫到屏幕以及背部位圖。後者使用顏色值來表示特定的對象。用GetPixel()命中測試。
您可以使用地區來繪製圖形並進行測試。 命中測試的區域內形成點:Region.IsVisible(組PointF)
見http://www.java2s.com/Code/CSharp/2D-Graphics/IsapointvisibletoaRegion.htm