我有一个BufferedGraphics
实例,我在上面绘制了一些图表。我想创建一个名为DrawLegends
的函数,它接受BufferedGraphics
的实例并绘制两个字符串作为图例。
我可以创建一个指向(0,0)的PointF
实例,但我想将图例放在底部。我该怎么办呢?我可以使用BufferedGraphics
实例执行此操作,还是需要我正在使用的面板?
答案 0 :(得分:1)
重要的是你需要知道绘图画布(即面板)的尺寸(主要是高度)。这将用于最终计算图例的位置。因此,如果您没有将高度信息存储在其他位置,那么您将不得不在某种程度上使用该面板
答案 1 :(得分:0)
在一天结束时,几乎所有绘制到屏幕上的对象都可以手动绘制,就像它们拥有的封面一样,或者在你想要的时候将一个图形对象绘制成画面。
因此,如果您在图形对象或当前正在使用的任何图形上进行绘制,那么当您完成绘制时,只需将图形对象绘制到您想要显示它的任何控件上。您可以将图形对象视为有点像图片。没有理由你不能传递你想要绘制的底层控件图形对象而不是制作自己的图形对象,但是如果你有一个方法可以:
void DrawGraph(string xLegend, string yLegend, IList<XYValues> values, Graphics graphics);
然后你可以用数据绘制到那个图形对象,调用invalidate和你完成。