如何快速简单的画大量“点”?

ssdjmcj8048 2003-12-03 12:46:32
吾需要画大量(不断的、经常的)的点,有什么快的方法?
我都没找到GDI+中的画点方法,吾太弱质!
...全文
86 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangyanjun1 2003-12-03
  • 打赏
  • 举报
回复
我觉得如果你想要快速的画大量的点的话,应该现在内存中建一块空间出来,现在这块内存上画好,然后再一次贴出来。因为在内存中画实线性操作,速度比在屏幕上画快多了,然后再线性输出到屏幕,速度也很快。
Edelweissobject 2003-12-03
  • 打赏
  • 举报
回复
楼主,我觉首先你要考虑是画点规律,可以考虑用函数来实现点的坐标变化。
我看到的一个例子是画正弦曲线的。如下
protected override void DoPage(Graphics grfx,int cx,int cy)
{
PI=3.14159;
Poinf[] aptf[]=new PointF[cy]
for(int i=0;i<cx;i++)
{
aptf[i].X=i;
aptf[i].Y=cy/2*(1-(float)Math.Sin(i*2*Math.PI/(cx-1)));
}
grfx.DrawLines(Pens.Red,aptf);
}
xiaodele 2003-12-03
  • 打赏
  • 举报
回复
对,虚线可以考虑
SUEBING 2003-12-03
  • 打赏
  • 举报
回复
看你是用点干什么了
可以用虚线或者直线代替啊,别忘记,线是由点组成的
rock1981 2003-12-03
  • 打赏
  • 举报
回复
大量不知道指的到底有多大!
正常画的话你可以做的双倍缓冲,
如果你的点是不断的、经常的话试试无语的DrawLines方法
gOODiDEA 2003-12-03
  • 打赏
  • 举报
回复
可以试试g.DrawLine(myPen, 1, 1, 1, 1);
colinfly 2003-12-03
  • 打赏
  • 举报
回复
你可以把第一行删掉,就可以看起来象你想象的那样,完整的程序想这个样子

System.Xml.XmlDocument oldDoc = new System.Xml.XmlDocument();
oldDoc.LoadXml("<root><Name value=\"gjdgdhg\"><fa gfd=\"hgkk\"></fa></Name></root>");


System.Xml.XmlDocument newDoc = new System.Xml.XmlDocument();
newDoc.LoadXml(oldDoc.DocumentElement.OuterXml);

System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(new System.IO.StringWriter(sb));
xw.Formatting = System.Xml.Formatting.Indented;
xw.Indentation = 4;

newDoc.Save(xw);
string s= sb.ToString();
this.textBox1.Text =s.Substring(s.IndexOf( System.Environment.NewLine) + System.Environment.NewLine.Length);

结果是这个样子


<root>
<Name value="gjdgdhg">
<fa gfd="hgkk">
</fa>
</Name>
</root>
liduke 2003-12-03
  • 打赏
  • 举报
回复
用分形几何的算法,点够多了
binbin2000 2003-12-03
  • 打赏
  • 举报
回复
GDI+
MFC2001 2003-12-03
  • 打赏
  • 举报
回复
you can use ControlPaint.DrawGrid Method.
ssdjmcj8048 2003-12-03
  • 打赏
  • 举报
回复
首先,用DrawLine太慢,他的速度甚至会慢于FillRectangle,大家可以试试!
其次,我每次画的点并不多,但却可能频繁画,缓冲似乎也不合适!

还有什么办法?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧