­

[Hei.Captcha] Asp.Net Core 跨平台图形验证码实现

  • 2019 年 10 月 3 日
  • 筆記

1564587704793

????

????????????????????????????????????????????????.Net Framework???????System.Drawing,?????????????.Net Core?????????System.Drawing.Common?windows????????CentOs????????,????

1564588228422

????CentOs???????Windows?

  • ????????
  • ???????
  • ?????

????????????????

?????????????????????????????????????????????????????“??”??

???????????????????????????????

???????????????????????????????????????????????~~

??????????

???????

GitHub????????????

SixLabors / ImageSharp

dlemstra / Magick.NET

mono / SkiaSharp

?????????ImageSharp

?????https://sixlabors.github.io/docs/

??

Hei.Captcha

.net core??????????????????gif??????ImageSharp?

??.NET Standard 2.0???????.net core????.net frameword 4.6.1 ????????~

???????

img

1564563919705

1564563740706

?????????

img

1564563801717

1564563816361

1564563853298

1564563877047

??gif???????

??gif?????????

????

1565146764062

??

Install-Package Hei.Captcha
//StartUp.cs,Method ConfigureServices()  services.AddHeiCaptcha();
private readonly SecurityCodeHelper _securityCode;    public HomeController(SecurityCodeHelper securityCode)  {      this._securityCode = securityCode;  }    /// <summary>  /// ???????  /// </summary>  /// <returns></returns>  public IActionResult BubbleCode()  {      var code = _securityCode.GetRandomCnText(2);      var imgbyte = _securityCode.GetBubbleCodeByte(code);        return File(imgbyte, "image/png");  }    /// <summary>  /// ?????????  /// </summary>  /// <returns></returns>  public IActionResult HybridCode()  {      var code = _securityCode.GetRandomEnDigitalText(4);      var imgbyte = _securityCode.GetEnDigitalCodeByte(code);        return File(imgbyte, "image/png");  }    /// <summary>  /// gif???????  /// </summary>  /// <returns></returns>  public IActionResult GifBubbleCode()  {      var code = _securityCode.GetRandomCnText(2);      var imgbyte = _securityCode.GetGifBubbleCodeByte(code);        return File(imgbyte, "image/gif");  }    /// <summary>  /// gif?????????  /// </summary>  /// <returns></returns>  public IActionResult GifHybridCode()  {      var code = _securityCode.GetRandomEnDigitalText(4);      var imgbyte = _securityCode.GetGifEnDigitalCodeByte(code);        return File(imgbyte, "image/gif");  }

??

??Demo? ????/??????????./fonts????????????????????????

??

??????????????????????????????????????????????????????????????????????????“??”????????

?????????????????????????????????????????????[??]

?????????????????????????????????????????????????

???????????????PR?????????

??

?????~

https://github.com/gebiWangshushu/Hei.Captcha

??

https://sixlabors.github.io/docs/