示例#1
0
    public void Option_Ok()
    {
        var option = new CaptchaOption()
        {
            OffsetY  = 100,
            ImageUrl = "test.jpg"
        };

        Assert.Equal(100, option.OffsetY);
        Assert.Equal("test.jpg", option.ImageUrl);
    }
    /// <summary>
    ///
    /// </summary>
    /// <returns></returns>
    private CaptchaOption GetCaptchaOption()
    {
        var option = new CaptchaOption()
        {
            Width      = Width,
            Height     = Height,
            SideLength = SideLength,
            Diameter   = Diameter
        };

        option.BarWidth = option.SideLength + option.Diameter * 2 + 6; // 滑块实际边长
        var start = option.BarWidth + 10;
        var end   = option.Width - start;

        option.OffsetX = Convert.ToInt32(Math.Ceiling(ImageRandomer.Next(0, 100) / 100.0 * (end - start) + start));
        OriginX        = option.OffsetX;

        start          = 10 + option.Diameter * 2;
        end            = option.Height - option.SideLength - 10;
        option.OffsetY = Convert.ToInt32(Math.Ceiling(ImageRandomer.Next(0, 100) / 100.0 * (end - start) + start));

        if (GetImageName == null)
        {
            var index      = Convert.ToInt32(ImageRandomer.Next(0, 8) / 1.0);
            var imageName  = Path.GetFileNameWithoutExtension(ImagesName);
            var extendName = Path.GetExtension(ImagesName);
            var fileName   = $"{imageName}{index}{extendName}";
            option.ImageUrl = Path.Combine(ImagesPath, fileName);
        }
        else
        {
            option.ImageUrl = GetImageName();
        }

        return(option);
    }
示例#3
0
 public CommonController(IHostingEnvironment hostingEnvironment, IOptions <CaptchaOption> options)
 {
     _hostingEnvironment = hostingEnvironment;
     _captchaOption      = options.Value;
 }