我有一个动态List of Point,可以随时添加新Point.我想绘制线条以使用不同的颜色连接它们.颜色基于这些点的索引.这是代码:
private List<Point> _points;
private static Pen pen1 = new Pen(Color.Red, 10);
private static Pen pen2 = new Pen(Color.Yellow, 10);
private static Pen pen3 = new Pen(Color.Blue, 10);
private static Pen pen4 = new Pen(Color.Green, 10);
private void Init()
{
// use fixed 80 for simpicity
_points = new List<Point>(80);
for (int i = 0; i < 80; i++)
{
_points.Add(new Point(30 + i * 10, 30));
}
}
private void DrawLinesNormal(PaintEventArgs e)
{
for (int i = …Run Code Online (Sandbox Code Playgroud) 使用C++和.net我想要显示一个数据流作为滚动图像.每次我得到一些新数据时,我想将其添加为新行(128x1像素)并将之前的内容滚动到一侧.
我对这个问题的第一次尝试涉及每次获得新行时渲染整个数据集.这有效,但速度太慢,所以我认为写入某种缓冲区可能更有意义(可能是位图?).问题是我无法看到我能做到这一点; Graphic对象允许你画得很开心,但我看不出一种明显的方法告诉我的控件使用一个Bitmap对象作为它的缓冲区?同样,我看不到一种绘制位图的方法,然后我可以将其写入屏幕.
这一定是可能的,但到目前为止我的google-foo已经失败了......
[编辑1]为了澄清,数据是一个频谱图.下图显示了我试图实现的那种事情:
我正在绘制的数据来自浮点数组.没有什么可以限制我会得到多少,所以我只想忘记数据,因为它从情节的一侧掉落.
我目前正在从a继承System::Windows::Forms::UserControl,但如果有更好的替代品,可以切换到别的东西吗?