//数字是随机生成的,一定会用到random随机数Random r =newRandom();string str =null;for(int i =0; i <5; i++){int rnumber = r.Next(0,10);
str += rnumber.ToString();}
数字画到位图上
//使用不同的字体和颜色string[] font ={"微软雅黑","宋体","楷书","仿宋","隶书"};
Color[] color ={ Color.Red, Color.Blue, Color.Yellow, Color.Green, Color.Black };for(int i =0; i <5; i++){Point p =newPoint(i *20,0);//画图
g.DrawString(str[i].ToString(),newFont(font[r.Next(0,5)],20, FontStyle.Bold),newSolidBrush(color[r.Next(0,5)]), p);}
画线
for(int i =0; i <25; i++){Point p1 =newPoint(r.Next(0, bmp.Width), r.Next(0, bmp.Height));Point p2 =newPoint(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
g.DrawLine(newPen(Brushes.Green), p1, p2);}
画点
for(int i =0; i <100; i++){Point p =newPoint(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
bmp.SetPixel(p.X, p.Y, Color.Black);}
完整代码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 使用GDI绘制简单图形
{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(object sender,EventArgs e){//画图需要,一根笔,一张纸,两点确定一条直线,绘制直线的对象//对象就是GDI对象}/// <summary>/// 点击更换验证码/// </summary>/// <param name="sender"></param>/// <param name="e"></param>privatevoidpictureBox1_Click(object sender,EventArgs e){//数字是随机生成的,一定会用到random随机数Random r =newRandom();string str =null;for(int i =0; i <5; i++){int rnumber = r.Next(0,10);
str += rnumber.ToString();}Bitmap bmp =newBitmap(150,30);Graphics g = Graphics.FromImage(bmp);string[] font ={"微软雅黑","宋体","楷书","仿宋","隶书"};
Color[] color ={ Color.Red, Color.Blue, Color.Yellow, Color.Green, Color.Black };for(int i =0; i <5; i++){Point p =newPoint(i *20,0);
g.DrawString(str[i].ToString(),newFont(font[r.Next(0,5)],20, FontStyle.Bold),newSolidBrush(color[r.Next(0,5)]), p);}for(int i =0; i <25; i++){Point p1 =newPoint(r.Next(0, bmp.Width), r.Next(0, bmp.Height));Point p2 =newPoint(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
g.DrawLine(newPen(Brushes.Green), p1, p2);}for(int i =0; i <100; i++){Point p =newPoint(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
bmp.SetPixel(p.X, p.Y, Color.Black);}
pictureBox1.Image = bmp;}}}