GDI+ konusuna giriş yaparken GDI+ kullacağımız yerler kısmında captcha çizdirmek için kullanabileceğimizi not almıştık. Bu yazımda GDI+ DrawString() ve DrawRectangle()metodlarını kullanarak resimli bir captcha oluşturmaktan bahsedeceğim.
Forma bir PictureBox (pbCaptcha) ve Button (btnReCaptcha) ekleyelim.
//global alanda tanımlayalım. Bitmap bmp; Graphics grp; string chars = "abcdefghıijklmnoöprsştuüvyz0123456789"; Random rdm = new Random(); |
Daha sonra butonun click olayına kodlarımızı ekleyelim:
private void btnReCaptcha_Click(object sender, EventArgs e) { bmp = new Bitmap(pbCaptcha.Width, pbCaptcha.Height); grp = Graphics.FromImage(bmp);string captcha = String.Empty; for (int i = 0; i < 5; i++) { int x = rdm.Next(0, chars.Length); char c = chars[x]; captcha += c; }HatchBrush brush = new HatchBrush(HatchStyle.Cross, Color.Green, Color.Black); Rectangle rec = new Rectangle(0, 0, bmp.Width, bmp.Height); grp.FillRectangle(brush, rec);Font f = new Font("Tahoma", 13, FontStyle.Bold); grp.DrawString(captcha, f, Brushes.White, new PointF(5, 5));pbCaptcha.Image = bmp; grp.Dispose(); } |
Hiç yorum yok:
Yorum Gönder