C#Draw

mac2022-06-30  11

命名空间

using System.Draw;

using System.Draw.Drawing2D;

在form等控件的 事件中 添加 paint事件

///画各种形状(空心)///

e.Graphics.Clear(Color.AliceBlue);//清楚整个绘画面并以制定的颜色(这里是爱丽丝蓝--Color.AliceBlue)填充

e.Graphics.DrawArc();//画弧线

e.Graphics.DrawCurve();//不闭合曲线

e.Graphics.DrawClosedCurve();//闭合的曲线

e.Graphics.DrawEllipse(pen, 80, 80, 150, 150);//画一个椭圆--如果宽和高相等则是一个正圆

Image img = Image.FromFile("clumsy-smurf-icon.png");//通过图片名称获得图片e.Graphics.DrawImage(img,20,20);//画图片

e.Graphics.DrawRectangle();//画矩形 

//画文字

string s = "红鲤鱼与绿鲤鱼与驴";Font font = new System.Drawing.Font("隶书",18);SolidBrush brush = new SolidBrush(Color.Cyan);e.Graphics.DrawString(s, font, brush,200,50);

//画渐变色文字

string s = "红鲤鱼与绿鲤鱼与驴";Font font = new System.Drawing.Font("隶书",18);SolidBrush brush1 = new SolidBrush(Color.Cyan);//常规颜色Point point1 = new Point(0,0);//起始点1与点2之间距离越近变换的越频繁Point point2 = new Point(20,40);LinearGradientBrush brush2 = new LinearGradientBrush(point1, point2, Color.DarkCyan, Color.DeepPink);//渐变色e.Graphics.DrawString(s, font, brush2,200,50);

实例:验证码

1 private void pictureBox1_Paint(object sender, PaintEventArgs e)//装验证码的picturebox 2 { 3 _IdentifyingCode = ""; 4 string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQISTUVWXYZ0123456789"; 5 Random rand = new Random(); 6 for (int i = 0; i < 4; i++)//截取四位验证码 7 { 8 int start = rand.Next(str.Length); 9 string s = str.Substring(start, 1); 10 _IdentifyingCode += s; 11 } 12 //渐变色 13 Point startpoint = new Point(0, 0); 14 Point endpoint = new Point(80, 45); 15 LinearGradientBrush brush = new LinearGradientBrush(startpoint, endpoint, Color.LightGreen, Color.Yellow); 16 //SolidBrush brush = new System.Drawing.SolidBrush(Color.Chocolate);//实线 17 Font font = new System.Drawing.Font("Buxton Sketch",16); 18 e.Graphics.DrawString(_IdentifyingCode, font, brush, 5, 12); 19 }

 

画各种形状(实心)///

同画空心图形把代码中的Draw改为Fill,如:e.Graphics.FillPie();//画一个实心扇形

转载于:https://www.cnblogs.com/IT1517/p/4768338.html

最新回复(0)