Beispiel #1
0
 public CaptchaImage(PxCaptchaInfo info)
 {
     if (info == null)
     {
         throw new ArgumentNullException("PxCaptchaInfo");
     }
     _info = info;
     this.generateImage();
 }
Beispiel #2
0
        /// <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)));
        }