作业帮 > 数学 > 作业

谁能帮我详细解释一下这个用C#画图的代码是怎样画出来的?

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/18 01:56:34
谁能帮我详细解释一下这个用C#画图的代码是怎样画出来的?
private void Form1_Paint(object sender,PaintEventArgs e)
{
// 准备平行四边形
Point[] sbx = new Point[]{
new Point(100,50),
new Point(400,50),
new Point(350,200),
new Point(50,200)
};
// 绘制
e.Graphics.FillPolygon(SystemBrushes.Window,sbx);
}
谁能帮我详细解释一下这个用C#画图的代码是怎样画出来的?
前面不用解释了,就是定义四个点,形成了一个区域.
e.Graphics.FillPolygon(SystemBrushes.Window,sbx);的意思是用笔刷(笔刷的颜色是工作区背景颜色)填充sbx这个区域.颜色可以改为别的,如SystemBrushes.HotTrack(热跟踪颜色)
再问: e.Graphics.FillPolygon和 Graphics g = this.CreateGraphics(); g.FillPolygon有什么区别啊?那个e代表什么?
再答: e可以理解为自动传递过来的参数。这个e在不同的事件中有不同的含义。 例如,在form的mousemove事件中,传递过来的是鼠标的信息,如位置(e.x,e.y)等,你可以到这个事件里实验一下,输入e,再输入一个“点",e后面的扩展信息就自动出来了。而在paint中,传过来的是PaintEventArgs,就是为 Paint 事件提供数据的基类。通过它,你可以使用form的画布。