CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

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

楼主ssdjmcj8048(就是俗)2003-12-03 00:46:32 在 .NET技术 / C# 提问

吾需要画大量(不断的、经常的)的点,有什么快的方法?  
  我都没找到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

相关问题

  • 简单问题(快速揭贴)
  • 简单问题(快速揭贴)
  • ¥%#!····简单日期比较····快速结帖
  • 简单问题(快速揭贴)
  • 简单问题(快速揭贴)
  • 太简单画图问题
  • 简单问题用*画园
  • 简单的画圆问题
  • datagrid控件的初始化问题,简单的,快速给分!
  • 简单的问题,请求快速回复!Up有分!

关键词

  • xml
  • xw
  • 方法
  • text

得分解答快速导航

  • 帖主:ssdjmcj8048
  • gOODiDEA
  • rock1981
  • SUEBING
  • xiaodele
  • Edelweissobject
  • tangyanjun1
  • MFC2001
  • binbin2000
  • liduke
  • colinfly

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo