用matlab画,就能一次性画,而且速度也很快。C#有什么好的办法没有,什么需要什么图形加速器之类的呢。

解决方案 »

  1.   

    你可以试试商业控件,原来用TeeChart动态绘制几万个点好像没问题的,几十万没试过。如果绘制折线,DrawLines()性能远远好于循环DrawLine
      

  2.   

    10W点对于图像来说其实不算多
    1024*768=786432,这都快100W点了
    关键是不能用DrawLine去画,那个是画线用的
    我觉得你就算定义个bmp或image类型的图,挨个像素去赋值,也会比画线快.
      

  3.   

    切割图片功能
    #region Windows 窗体设计器生成的代码        /// <summary>
            /// 设计器支持所需的方法 - 不要
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.pictureBox1 = new System.Windows.Forms.PictureBox();
                this.button1 = new System.Windows.Forms.Button();
                this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
                ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
                this.SuspendLayout();
                // 
                // pictureBox1
                // 
                this.pictureBox1.Location = new System.Drawing.Point(5, 4);
                this.pictureBox1.Name = "pictureBox1";
                this.pictureBox1.Size = new System.Drawing.Size(202, 133);
                this.pictureBox1.TabIndex = 0;
                this.pictureBox1.TabStop = false;
                this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);
                this.pictureBox1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove);
                this.pictureBox1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseUp);
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(68, 142);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 7;
                this.button1.Text = "打开图片";//CodeGo.net
                this.button1.UseVisualStyleBackColor = true;
                this.button1.Click += new System.EventHandler(this.button1_Click);
                // 
                // openFileDialog1
                // 
                this.openFileDialog1.FileName = "openFileDialog1";
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(322, 169);
                this.Controls.Add(this.pictureBox1);
                this.Controls.Add(this.button1);
                this.MaximizeBox = false;
                this.Name = "Form1";
                this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                this.Text = "剪切图片";
                this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseClick);
                ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
                this.ResumeLayout(false);        }