2011-05-25 58 views
2

我有一個WinForm應用程序,我想轉換爲服務。它有兩個mscharts。我不需要再看到這些圖表,因爲應用程序創建了位圖。我劃清界限取決於數據從另一個圖表一個圖表上,像這樣:c#你可以從軸上獲取位置嗎?

// Get Graphics object from chart 
Graphics graph = e.ChartGraphics.Graphics; 

// Convert X and Y values to screen position 
float pixelYMax = (float)e.ChartGraphics.GetPositionFromAxis("Default", AxisName.Y, CreatininePoint.YValues[0]); 
float pixelXMax = (float)e.ChartGraphics.GetPositionFromAxis("Default", AxisName.X, CreatininePoint.XValue); 
float pixelYMin = (float)e.ChartGraphics.GetPositionFromAxis("Default", AxisName.Y, CreatininePoint.YValues[0]-20); 
float pixelXMin = (float)e.ChartGraphics.GetPositionFromAxis("Default", AxisName.X, CreatininePoint.XValue); 

PointF point1 = PointF.Empty; 
PointF point2 = PointF.Empty; 

// Set Maximum and minimum points 
point1.X = pixelXMax; 
point1.Y = pixelYMax-10; 
point2.X = pixelXMin; 
point2.Y = 84; 

// Convert relative coordinates to absolute coordinates. 
point1 = e.ChartGraphics.GetAbsolutePoint(point1); 
point2 = e.ChartGraphics.GetAbsolutePoint(point2); 

float[] dashValues = { 4,2 }; 
Pen blackPen = new Pen(Color.Black, 1); 
blackPen.DashPattern = dashValues; 
//e.Graphics.DrawLine(blackPen, new Point(5, 5), new Point(405, 5)); 
//graph.DrawLine(blackPen, point1, point2); 

// Draw connection line 
graph.DrawLine(new Pen(Color.Black, 2), point2, point1); 

// Create string to draw. 
//String drawString = creatininept + " ng/mL"; 
String drawString = "67 ng/mL"; 

// Create font and brush. 
Font drawFont = new Font("Arial", 7); 
SolidBrush drawBrush = new SolidBrush(Color.Black); 

// Create point for upper-left corner of drawing. 
PointF drawPoint = new PointF(point1.X,point1.Y+5); 

// Draw string to screen. 
graph.DrawString(drawString, drawFont, drawBrush, drawPoint); 

是有可能做到這一點,而無需一個表格,以便我們能有運行的服務?

+0

btw這是在postpaint事件 – 2011-05-25 19:47:21

+0

表單如何工作?用戶點擊一個按鈕並獲得圖表?你如何從服務中知道何時製作圖表? – MPelletier 2011-05-25 19:50:39

+0

@mpell圖表由文件夾中的文件構成 – 2011-05-25 19:52:32

回答

0
Bitmap canvas = new Bitmap(600, 480); 
Graphics graph = Graphics.FromImage(canvas); 

..然後繼續在圖表上繪圖。

相關問題