16,721
社区成员




下面是画正弦曲线的C#源代码,具体的细节,在代码中有说明,也许有些细节并没有说得很明白或者没有说,那也许是这些细节自己也没有弄明白,不知道什么说。但不管什么样,下面的代码是可以画出正弦曲线的,这一点我可以向你保证。代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DrawSinTest
{
//这是一个画正弦曲线的示例代码。
//通过命令按钮button1的Click事件在pictureBox1上画正弦曲线。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//为了方便查看效果,在这里我定义了一个常量。
//它在定义数组的长度和for循环中都要用到。
const int size = 500;
double[] x = new double[size];
Graphics graphics = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Teal);
//画正弦曲线的横轴间距参数。建议所用的值应该是 正数且是2的倍数。
//在这里采用2。
int val = 2;
float temp = 0.0f;
//把画布下移100。为什么要这样做,只要你把这一句给注释掉,运行一下代码,
//你就会明白是为什么?
graphics.TranslateTransform(0, 100);
for (int i = 0; i < size; i++)
{
//改变32,实现正弦曲线宽度的变化。
//改100,实现正弦曲线高度的变化。
x[i] = Math.Sin(2 * Math.PI * i / 32) * 100;
graphics.DrawLine(pen, i * val, temp, i * val + val / 2, (float)x[i]);
temp = (float)x[i];
}
}
}
}