簡體   English   中英

如何將圖像添加到圖表

[英]How to Add an Image to a Chart

[ 我目前擁有的圖表[1]

我有一個這樣的圖表,它尚未完成,但是我需要將此圖像添加到圖表的左側。 在此處輸入圖片說明

該圖表是C#中的Chart控件,第二個圖像是.png。 如何將圖像放在圖表上? 該圖表是在.aspx頁上制成的,並作為圖像返回,以顯示在報表中,因此我需要能夠將包含圖像的圖表作為圖像返回。

提前致謝!

兩種方法:

為了正確放置它,您將需要確切地知道您想要什么。

在此處輸入圖片說明

這是產生以上圖像的示例代碼:

chart1.Images.Add(new NamedImage("gradient", Image.FromFile(yourImagePath)));
ImageAnnotation imgA = new ImageAnnotation();
imgA.Image = "gradient";
imgA.ImageWrapMode = ChartImageWrapMode.Scaled;

imgA.IsSizeAlwaysRelative = false;
imgA.AxisY = ay;

imgA.Y = ay.Minimum;
imgA.Height =  ay.Maximum - ay.Minimum;

imgA.X = 0;
imgA.Width = 3;

chart1.Annotations.Add(imgA);

圖表坐標很棘手。

請注意,由於我已經將Annotation與Y軸相關聯,因此HeightYaxis value coordinates因為我還關閉了IsSizeAlwaysRelative

默認情況下, Annotatons位於相對坐標中 ,即相應容器的百分比。 水平數字仍然是相對的,因此3表示圖表寬度的3% ,並且X = 0Annotation放置在左側的位置。


第二種方式:

  • 要將圖像放置在繪圖區域內但在所有網格線和點下方,可以使用StripLine代替Annotation 這里

例:

StripLine sl = new StripLine();
sl.IntervalOffset = -1;
sl.Interval = 0;
sl.StripWidth  = 0.33;
sl.BorderWidth  = 0;
sl.BackImage =  "gradient";
sl.BackImageWrapMode = ChartImageWrapMode.Scaled;
ax.StripLines.Add(sl);

在此處輸入圖片說明

注意, StripLines線在軸值坐標中!

圖像應被添加到Chart.Images作為NamedImage 。當你做一個chart.SaveImage注釋或帶狀線將被納入..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM