public CaptchaImage(PxCaptchaInfo info) { if (info == null) { throw new ArgumentNullException("PxCaptchaInfo"); } _info = info; this.generateImage(); }
/// <summary> /// Eğer gönderilen parametrede Text propertysine değer atanmamış ise gönderilen textlength parametresine göre random string oluşturur. /// Default textLength 8 karakterdir. Session'a CaptchaImageText adında yeni bir key oluşturup, oluşturduğu string değeri bu keye set eder. /// Geriye Image'in base64 stringi dönmektedir. Örnek : "data:image/png;base64, ........." /// </summary> /// <param name="textLength"></param> /// <param name="width"></param> /// <param name="height"></param> /// <param name="fontFamily"></param> /// <returns></returns> public static string CreateCaptcha(PxCaptchaInfo info, int textLength = 8) { if (string.IsNullOrEmpty(info.Text)) { info.Text = generateRandomCode(textLength); } byte[] image = null; using (CaptchaImage img = new CaptchaImage(info)) { ImageConverter converter = new ImageConverter(); image = (byte[])converter.ConvertTo(img.Image, typeof(byte[])); } PxSession session = PxSession.Get(); session.Set <string>("CaptchaImageText", info.Text); return(string.Format("data:image/png;base64,{0}", Convert.ToBase64String(image))); }