2014-04-28 39 views
0

我有一個asp:圖像由x的列表繪製圖像內圓和X點,Y coordinates.Asp C#

<asp:Image ID="ImageMap1" runat="server" ImageUrl="~/images/court.jpg"></asp:Image> 

另外我有4只列出與INT X,Y座標

 int[] GreenCircleX = new int[4] { 10, 20, 22, 25}; 
     int[] GreenCircleY = new int[4] { 10, 20, 22, 25}; 
     int[] RedxX = new int[4] { 15, 6, 50, 32}; 
     int[] RedxY = new int[4] { 15, 8, 50, 23}; 

我想從圖像中的GreenCircleX,Y座標繪製(如果可能的話)綠色的小圓圈:court.jpg。RedxX中的紅色X圓點,Y座標在同一圖像中。不需要任何可點擊的東西。

圖像court.jpg: enter image description here 和可能的結果 enter image description here

有什麼建議?

+1

什麼從嘗試自己實現它阻止你?你明確面對什麼問題? – DrCopyPaste

+0

我能夠使用列表和整數,但我不知道如何在C#中繪製圖像# – Apollon

+0

也許這可以讓你開始:http://stackoverflow.com/a/11403059/2186023(是的,我知道線,不是圓圈,但是'對圖像進行繪製'對於兩者來說本質上是相同的;)) – DrCopyPaste

回答

0

最後我做了它。正如DrCopyPaste所說,你必須加載圖像,繪製並保存它。用下面的代碼繪製綠色圓圈和紅色的X.

 Bitmap bitMapIm = new 
    System.Drawing.Bitmap(Server.MapPath(@"images\court.jpg")); 
    Graphics graphicIm = Graphics.FromImage(bitMapIm); 

    Pen penGreen = new Pen(Color.Green, 3); 
    Pen penRed = new Pen(Color.Red, 3); 
    for (int i = 0; i < GreenCircleX.Count; i++) 
    {   
    graphicIm.DrawEllipse(penGreen, GreenCircleX[i] ,GreenCircleY[i], 7, 7); 

    graphicIm.DrawString("X", new Font("Arial", 10, FontStyle.Bold), Brushes.Red, RedxX[i] ,RedxY[i]); 
    } 
    bitMapIm.Save(Server.MapPath(@"images\courtout.jpg"), ImageFormat.Jpeg); 
    graphicIm.Dispose(); 
    bitMapIm.Dispose(); 

所以我必須用courtout.jpg作爲URL

  <asp:Image ID="ImageMap1" runat="server" ImageUrl="~/images/courtout.jpg"></asp:Image>