以一個圖片爲背景圖,並且這上面畫座標的實現方式

最近單位的圖表需求,而一般的控件是實現不了的,只好用GDI畫了2個,非常喫力。發覺ASP。NET的GDI畫圖的確比較簡單,發一些心得讓大家減少彎路。。

圖片的座標在左上方默認爲(0,0),而實際的座標肯定不是這樣,所以這裏就用到相對座標來實現。

Pen myPenY = new Pen(Color.Red, 1);
   System.Drawing.Image objImage =   System.Drawing.Image.FromFile(Server.MapPath("../oilmap/solid.gif"));
   Bitmap objBmp = new Bitmap(objImage);
   Graphics objT = Graphics.FromImage(objBmp);
   objT.TranslateTransform(122,310);//原點位置
   objT.DrawLine(myPenY,0,0,20,20);  //畫簡單的線條
   objBmp.Save(Response.OutputStream,ImageFormat.Gif);  //輸出圖片
經過一些計算,得出這兩個圖片:
1。大衛三角圖




2。立體圖


立體圖最早的需求是很不規則的,它的Y軸和水平方向有一定角度,Z軸也是視覺座標,如果要做到預定的圖表就要經過很多換算(估算),這樣導致畫出來的圖片誤差很大,所以最後還是把圖片調整了,把Y軸畫成和水平平行,只對X軸進行視覺座標轉換。這樣畫出來的圖纔算比較準確。因爲這個圖僅僅只是看大概的意圖就可以的,所以這樣的畫法也是滿足需求的。  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章