当前位置:编程学习 > C#/ASP.NET >>

c#波形图

公司让我做远程控制品频谱仪,请问哪位做过这方面的系统。
在网上一直找不到用C#开发的显示波形图的代码,是否有控件什么的?
多谢! --------------------编程问答-------------------- 参考:
C#绘制采用数据曲线图
http://blog.sina.com.cn/u/589d32f5010008aj

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private List 数据采样 = new List();
        private int 网格偏移 = 0;
        private Random 随机数 = new Random();
        private const int 网格大小 = 12;
        private Pen 网格颜色 = new Pen(Color.FromArgb(0x00, 0x80, 0x40));
        private Pen 曲线颜色 = new Pen(Color.FromArgb(0x00, 0xFF, 0x00));
        private void timer1_Tick(object sender, EventArgs e)
        {
            while (数据采样.Count > 1000) 数据采样.RemoveAt(0);
            数据采样.Add((byte)随机数.Next(256));
            网格偏移 = (网格偏移 + 1) % 网格大小;
            Invalidate();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.FillRectangle(Brushes.Black, e.Graphics.ClipBounds);
            #region 绘制网格
            for (int i = ClientSize.Width - 网格偏移; i >= 0; i -= 网格大小)
                e.Graphics.DrawLine(网格颜色, i, 0, i, ClientSize.Height);
            for (int i = ClientSize.Height; i >= 0; i -= 网格大小)
                e.Graphics.DrawLine(网格颜色, 0, i, ClientSize.Width, i);
            #endregion

            #region 绘制曲线
            if (数据采样.Count <= 1) return; // 一个数据就不绘制了
            byte A = 数据采样[数据采样.Count - 1];
            for (int i = 数据采样.Count - 2; i >= 0; i--)
            {
                byte B = 数据采样[i];
                e.Graphics.DrawLine(曲线颜色,
                    new Point(ClientSize.Width - 数据采样.Count + i - 1,
                        (int)(((double)A / 255) * ClientSize.Height)),
                    new Point(ClientSize.Width - 数据采样.Count + i,
                        (int)(((double)B / 255) * ClientSize.Height)));
                A = B;
            }
            #endregion
        }

        private void Form1_Resize(object sender, EventArgs e)
        {
            Invalidate(); 
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            DoubleBuffered = true;
            timer1.Enabled = true;
            timer1.Interval = 100;
        }
    }
}
--------------------编程问答-------------------- http://topic.csdn.net/t/20030104/23/1327431.html --------------------编程问答-------------------- 谢谢各位哈! --------------------编程问答-------------------- 1楼的,发觉有很多函数,函数体都没的吗? --------------------编程问答-------------------- http://www.wave12.com wsChart4.6(DLL) --------------------编程问答-------------------- UP --------------------编程问答-------------------- http://topic.csdn.net/t/20030104/23/1327431.html

--------------------编程问答-------------------- 怎么没人救我呢? --------------------编程问答-------------------- drawline 直接画 --------------------编程问答-------------------- 是个好东西.收藏了. --------------------编程问答-------------------- 什么东西 是个好东西? --------------------编程问答-------------------- 网上说teechart这个控件可以做的,但没找到下载,有谁在用呀?请问各位? --------------------编程问答-------------------- 摘录:《程序员秘书》--图形GDI+--几十种曲线图形
如:正叶线、星茫线、抛物线、5阶函数线、Nephroid线、李沙育线、螺线、心形线等几十种
只要你有公式或数据,画什么线都没问题

轻轻松松开发软件,详见:http://www.psec.net.cn --------------------编程问答-------------------- 收藏 --------------------编程问答-------------------- 好啊 --------------------编程问答-------------------- 声音的时域、频域(FFT)波形实时可视化绘制
icscs 著于2007-8-17 8:03:19
本文演示快速傅立叶变换的使用,以及如何使用Windows GDI绘制一个近乎实时的时域、频域的可视化声音处理。 --------------------编程问答-------------------- xuexi --------------------编程问答-------------------- mark
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,