使用图片框数组绘制图形

本文关键字:数组 绘制 图形 | 更新日期: 2023-09-27 18:27:34

我目前正在编写一个程序,需要在其中绘制一些图形。我需要在这些图中有一点特定的布局。例如,我有三个阶段,长度由用户定义(以天为单位)。例如30天的开始阶段、40天的中期阶段和20天的结束阶段。这些阶段我想在图表中有一个不同的背景颜色。我通过画画框并根据舞台长度调整它们的宽度来做到这一点。此外,对于总长度中的每一天,我都想画一条垂直线,对于图中水平线的数量,我取y=f(x)的最大值。

y=f(x)需要绘制在图上。因为我在背景上使用了很多图片框,所以我不能使用这些图片。它的绘制线将绘制在图片框后面。所以我决定用一排图片框来划线;)它工作得很好,但显然现在加载程序需要很多时间。

有没有其他方法可以使用需要较少计算机操作的控件数组来绘制此图?还是应该完全停止使用数组?

(我想把我的照片贴在这里,但我还没有十个名声,因为我是个无名小卒:()

稍后我会在这个图中添加更多的行,但由于我认为我的程序已经慢了,我停止了对其他行的编程,并去了无所不知的论坛!

任何帮助都将不胜感激!

Greetz,Arrie

使用图片框数组绘制图形

常见的表单控件并不真正适用于此目的。我建议你考虑使用库,让你对视觉和图形有更多的权力和控制权。

@Kári是对的:

如果你只想使用.NET(不依赖第三个库),你可以使用GDI。在.NET中,可以通过将System.Drawing.dll作为引用来使用。

一个简单而正确的方法是:

  1. 创建目标控件(例如picturebox)
  2. 实现OnPaintDraw事件,该事件为您提供一个Graphics对象包含许多绘图方法。有关详细信息,请参阅MSDN:MSDN->图形

Graphics的方法将始终绘制在控件上方,因此请确保您的目标控件是可见的,而不是在任何其他控件后面。如果GDI还不够,您可以查看其他库。(请参阅.NET图形库?)