2013-12-21 167 views
0

Drawing a polygon according to the input coordinates

我得到了一些代碼從這裏,我只取..
繪製多邊形點擊區域

void pictureBox1_Paint(object sender, PaintEventArgs e) { 
    e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; 

    List<Point> polyPoints = new List<Point>(); 
    polyPoints.Add(new Point(30, 30)); 
    polyPoints.Add(new Point(36, 105)); 
    polyPoints.Add(new Point(66, 105)); 
    polyPoints.Add(new Point(72, 66)); 

    using (SolidBrush br = new SolidBrush(Color.FromArgb(100, Color.Yellow))) 
    { 
     e.Graphics.FillPolygon(br, polyPoints.ToArray()); 
    } 
    e.Graphics.DrawPolygon(Pens.DarkBlue, polyPoints.ToArray()); 
} 

注:SmoothingMode用頭using System.Drawing.Drawing2D

然後我得到了點擊區的問題,我只想要在可見區域的點擊區域,在這種情況下,picturebox1的尺寸爲1366 x 768

the example polygon in picturebox

這個例子的picturebox,我想紅色區域可點擊以及灰色無法點擊區域
默認在框中的所有區域是可點擊

回答

0

你看着就PictureBox文檔?

我正在看它,它似乎有很多方法調整PixtureBox對象的方面。看看使用DefaultSize Property或設置Size屬性。無論哪種情況,您都必須將大小包裝在Size對象中,並設置相應的PictureBox大小屬性。

如:

pictureBox1.Size = new Size(xSize, ySize); 

pictureBox1.DefaultSize = new Size(xSize, ySize); 
+0

抱歉,這不是問題,我有'mouse_click'事件問題不是'picturebox' – Zenithxm

+0

哦,我的道歉大小。那麼,如果是這種情況,你不能僅僅將鼠標的位置與窗口的位置以及窗口內的任何對象交叉引用? –

+0

沒關係:)沒問題 – Zenithxm