c#如何实现图片随机?请教下各位 最好有详细代码!谢谢

 我来答
715240183
2011-01-02 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:100%
帮助的人:13万
展开全部

namespace 验证码

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        Random rnd = new Random();

        string pictur;

        private void button1_Click(object sender, EventArgs e)

        {

            

            //生成随机数

            string dd = Convert.ToChar(rnd.Next(65, 90)).ToString();

            string ee = Convert.ToChar(rnd.Next(65,90)).ToString();

            string ff = Convert.ToChar(rnd.Next(65, 90)).ToString();

            string gg = Convert.ToChar(rnd.Next(65, 90)).ToString();

            pictur = dd + ee + ff + gg;

            grap();

        }

        private void grap()

        {

            System.Drawing.Bitmap bmp = new Bitmap(100,50);

            Graphics graph = Graphics.FromImage(bmp);

            graph.Clear(Color.FromArgb(232, 238, 247));

            ////画噪点

            for (int i = 0; i <= 128; i++)

            {

                graph.DrawRectangle(

                    new Pen(Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255))),

                    rnd.Next(2, 256),

                    rnd.Next(2, 50),

                    1,

                    1);

            }

            //画出表达式

            for (int i = 0; i < pictur.Length; i++)

            {

                graph.DrawString(pictur.Substring(i, 1),

                    new Font(FontFamily.GenericSansSerif, 25, FontStyle.Bold),

                    new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(128), rnd.Next(255))),

                    5 + i * 20,

                    rnd.Next(1, 5));

            }

            //画边框

            graph.DrawRectangle(new Pen(Color.Firebrick), 0, 0, 100 - 1, 50 - 1);

            pictureBox1.Image = bmp;

        }

    }

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式