如何快速简单的画大量“点”?
吾需要画大量(不断的、经常的)的点,有什么快的方法?
我都没找到GDI+中的画点方法,吾太弱质!
问题点数:100、回复次数:11Top
1 楼gOODiDEA(无语)回复于 2003-12-03 05:58:06 得分 5
可以试试g.DrawLine(myPen, 1, 1, 1, 1);
Top
2 楼rock1981(呵呵呵)回复于 2003-12-03 07:30:19 得分 5
大量不知道指的到底有多大!
正常画的话你可以做的双倍缓冲,
如果你的点是不断的、经常的话试试无语的DrawLines方法Top
3 楼SUEBING(水木)回复于 2003-12-03 08:07:23 得分 5
看你是用点干什么了
可以用虚线或者直线代替啊,别忘记,线是由点组成的Top
4 楼xiaodele(小得乐)回复于 2003-12-03 08:46:55 得分 5
对,虚线可以考虑Top
5 楼Edelweissobject(青山绿水)回复于 2003-12-03 09:34:30 得分 10
楼主,我觉首先你要考虑是画点规律,可以考虑用函数来实现点的坐标变化。
我看到的一个例子是画正弦曲线的。如下
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);
}Top
6 楼tangyanjun1(唐延军)回复于 2003-12-03 10:43:58 得分 5
我觉得如果你想要快速的画大量的点的话,应该现在内存中建一块空间出来,现在这块内存上画好,然后再一次贴出来。因为在内存中画实线性操作,速度比在屏幕上画快多了,然后再线性输出到屏幕,速度也很快。Top
7 楼ssdjmcj8048(就是俗)回复于 2003-12-03 14:06:50 得分 0
首先,用DrawLine太慢,他的速度甚至会慢于FillRectangle,大家可以试试!
其次,我每次画的点并不多,但却可能频繁画,缓冲似乎也不合适!
还有什么办法?Top
8 楼MFC2001(拔剑茫然心四顾)回复于 2003-12-03 14:10:34 得分 50
you can use ControlPaint.DrawGrid Method.Top
9 楼binbin2000(binbin)回复于 2003-12-03 15:27:03 得分 5
GDI+Top
10 楼liduke(天下有雪)回复于 2003-12-03 16:23:05 得分 5
用分形几何的算法,点够多了Top
11 楼colinfly(Colin)回复于 2003-12-03 16:46:17 得分 5
你可以把第一行删掉,就可以看起来象你想象的那样,完整的程序想这个样子
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>Top




