using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; namespace sharpknife.Captchas { public abstract class Captcha { public abstract float Contrast { get; } public static Captcha GetCaptcha(string name) { Captcha captcha = null; switch (name) { case "Numbers": captcha = new NumbersCaptcha(); break; case "Strings": captcha = new StringsCaptcha(); break; case "PetFinder": captcha = new PetFinderCaptcha(); break; case "UpsideDown": captcha = new UpsideDownCaptcha(); break; default: throw new Exception("Undefined captcha"); } return captcha; } public abstract void Clean(Bitmap image); public abstract string Decaptcha(Bitmap image); } }