GDI绘制图形的使用_验证码

//创建GDI对象
Graphics g = this.CreateGraphics();// new Graphics();

//创建画笔对象
Pen pen = new Pen(Brushes.Red);

//创建两个点
Point p1 = new Point(30, 50);
Point p2 = new Point(250, 250);
g.DrawLine(pen, p1, p2);

Graphics g = this.CreateGraphics();
g.DrawString("XX是最帅的", new Font("宋体", 20, FontStyle.Underline), Brushes.Black, new Point(300, 300));

点击更换验证码

 private void pictureBox1_Click(object sender, EventArgs e)
        {
            Random r = new Random();
            string str = null;
            for (int i = 0; i < 8; i++)
            {
                int rNumber = r.Next(0, 10);
                str += rNumber;
            }
            //  MessageBox.Show(str);
            //创建GDI对象
            Bitmap bmp = new Bitmap(200, 40);
            Graphics g = Graphics.FromImage(bmp);

            for (int i = 0; i < 8; i++)
            {
                Point p = new Point(i * 20, 0);
                string[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };
                Color[] colors = { Color.Yellow, Color.Blue, Color.Black, Color.Red, Color.Green };
                g.DrawString(str[i].ToString(), new Font(fonts[r.Next(0, 5)], 20, FontStyle.Bold), new SolidBrush(colors[r.Next(0, 5)]), p);
            }

            for (int i = 0; i < 20; i++)
            {
                Point p1=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
                Point p2=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
                g.DrawLine(new Pen(Brushes.Green), p1, p2);
            }

            for (int i = 0; i < 500; i++)
            {
                Point p=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
                bmp.SetPixel(p.X, p.Y, Color.Black);//设置像素
            }

            //将图片镶嵌到PictureBox中
            pictureBox1.Image = bmp;
        }
时间: 2024-10-31 01:21:54

GDI绘制图形的使用_验证码的相关文章

GDI+绘制图形和画刷填充图形

GDI+可以再Windows窗体应用程序中以编程方式绘制图形等. 可以在VS里新建项目-Windows窗体应用程序-建一个窗体.首先引入命名空间using System.Drawing.Imaging;using System.Drawing.Drawing2D; 1.绘制矩形 可以再Form窗体的Paint事件中添加以下代码 private void Form1_Paint(object sender, PaintEventArgs e)        {            // 创建钢笔

使用GDI绘制验证码

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绘制验证码B { public parti

C# GDI绘制验证码

步骤: 1.通过Random生成随机数或字符及验证码 2.通过验证码内容长度生成指定大小的图片 3.获取生成图片的Graphics对象 4.定义验证码字体格式 5.通过指定字体将验证码绘制到图片 6.向图片上添加背景噪音线 7.添加前景噪音点 1 private void pictureBox1_Click(object sender, EventArgs e) 2 { 3 Random r = new Random(); 4 string str = null; 5 for (int i =

通过GDI+绘制 验证码

只为了记录下自己的学习历程,方便日后查看 现在开始言归正传,以下为其完整代码附上 GDI+绘制验证码 以下为运行结果图

【UWP通用应用开发】编辑文本、绘制图形、3D透视效果及绘制时钟实战

编辑文本及键盘输入 相信大家都会使用TextBox,但如果要让文本在TextBox中换行该怎么做呢?将TextWrapping属性设置为Wrap,将AcceptsReturn属性设置为True就好咯. PasswordBox很明显就是一个密码框了,和其他的控件相比其有2个特殊之处,一个是其可以用MaxLength来控制最大的长度,一个是用PasswordChanged来捕捉密码的改名.显然比如QQ密码的MaxLength就是16位了,而PasswordChanged可以用来监测比如用户设置的密码

Windows App开发之编辑文本与绘制图形

编辑文本及键盘输入 相信大家都会使用TextBox,但如果要让文本在TextBox中换行该怎么做呢?将TextWrapping属性设置为Wrap,将AcceptsReturn属性设置为True就好咯. PasswordBox很明显就是一个密码框了,和其他的控件相比其有2个特殊之处,一个是其可以用MaxLength来控制最大的长度,一个是用PasswordChanged来捕捉密码的改名.显然比如QQ密码的MaxLength就是16位了,而PasswordChanged可以用来监测比如用户设置的密码

C#如何消除绘制图形缩放时抖动,总结

一.手动双缓冲 首先定义一个BitmapBitmap backBuffer = new Bitmap(画布宽度, 画布高度);然后获取这个Bitmap的GraphicsGraphics graphics = Graphics.FromImage(backBuffer);然后在这个graphics上进行绘图graphics.Clean(Color.Black); 当所有绘图完成之后,将这个Bitmap再绘制到窗口的画布上,注意不要清理窗口的画布:windowGraphics.DrawImage(b

C#—绘制图形

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 实例7_7绘制图形 { public partial class FirstForm : Form { publ

GDI+与图形编程研究

GDI+的基本概念 GDI+的常用对象,包括Graphics.Font.Brush.Pen等对象的创建和使用 常用图形的绘制 Color结构.Point结构和Rectangle结构 1.GDI+的概念 GDI+是GDI(Graphics Device Interface,图形设备接口)的改进产品. 2.GDI+的绘图命名空间 用户所使有的GDI+函数都保存在System.Drawing.d11程序集中.其中包括System.Drawing.System.Drawing.Text.System.D