c#同一个pictruebox上如何动态的画多个多边形

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 17:32:51

c#同一个pictruebox上如何动态的画多个多边形
c#同一个pictruebox上如何动态的画多个多边形

c#同一个pictruebox上如何动态的画多个多边形
可参考下面的例子:
//拿来一块画布,大小为400*400
Image img = new Bitmap(400,400);
pictureBox1.Image = img;
//创建一个Graphics实例,让它通过windows系统去与外部设备打交道;
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.Clear(Color.White); //将画面擦干净
//设计一下画的透明度
int transValue = 255;
//拿来一把红色的画刷;
SolidBrush myBrush = new SolidBrush(Color.FromArgb(transValue,Color.Red));
//拿来一把红色的画笔
Pen myPen = new Pen(Color.FromArgb(transValue,Color.Red),1);
g.DrawLine(myPen,-200,0,200,0); //水平方向画一条线
g.DrawLine(myPen,0,-200,0,200); //垂直方向画一条线
Font myFont = new Font("黑体",15); //设计一下我要写的字的字体及大小
//将我要写的所有字的尺寸测量一下
SizeF strSize = g.MeasureString("FURENJUN 绘图",new Font("黑体",15),new PointF(),StringFormat.GenericDefault );
int width = (int)(strSize.Width + 10.0f);
//好了,写几个字看看吧
g.DrawString(myDrawingStr,myFont,myBrush,new PointF(10,5));
//再画一个长方形
Rectangle rect = new Rectangle(width,0,30,(int)strSize.Height);
g.DrawRectangle(new Pen(Color.FromArgb(transValue,Color.Blue),1),rect);
g.FillRectangle(new SolidBrush(Color.FromArgb(transValue,Color.Blue)),rect);
g.TranslateTransform(10,0);//水平移动10pz
g.TranslateTransform(0,10);//垂直移动 10px
g.RotateTransform(30); //旋转30度
//再画一个圆
g.DrawPie(Pens.Red,rect,0,360);
g.FillPie(Brushes.Red,rect,0,360);
//还要画啥,你往下添吧.
//...