2011-09-02 54 views
3

使用Microsoft圖表創建圖表時,我需要在圖表上獲取網格的確切位置。MS圖表:獲取真正的InnerPlotPosition?

This page說 - 據我瞭解 - 這可以通過InnerPlotPosition實現。但是,使用此屬性時,我得到以下矩形:InnerPlotPosition

此矩形似乎與圖表大小成比例;在調整圖表大小時,矩形會縮小,但仍會保留在網格外部的所有邊上。我曾嘗試添加和乘以常數的大小,但沒有一個常數適用於所有大小。

所以,只是爲了澄清,我想要的是網格上的外部黑色矩形。有什麼辦法可以得到這個嗎?

(我一直在想從邊緣掃描像素,並檢測在每個方向上的第一黑色像素,但是這聽起來像一個難看劈)

回答

7

我終於找到一個可行的解決方案:

 ChartArea a = chart.ChartAreas[0]; 
    double x1 = a.AxisX.ValueToPixelPosition(a.AxisX.Minimum); 
    double x2 = a.AxisX.ValueToPixelPosition(a.AxisX.Maximum); 
    double y1 = a.AxisY.ValueToPixelPosition(a.AxisY.Maximum); 
    double y2 = a.AxisY.ValueToPixelPosition(a.AxisY.Minimum); 
+0

優秀.. 5歲的職位解決了我的問題..... :-) – Rocky