基于SkiaSharp的ASP.NET Core 6.0跨平台图形验证码

  由于.Net 团队已经在.net 6.0版本中将System.Drawing.Common 标记为仅在Windows上支持,受此中断性变更,由该库编写的.net 6.0程序无法在非windows平台上正常工作;官方参考链接:中断性变更:仅在 Windows 上支持 System.Drawing.Common - .NET | Microsoft Learn

  所以我分享一个我开发的图形验证码方案,github链接:lhdboy/ClickableCaptcha,首先看实际效果截图:

  PC版:

  

 

  手机版截图(带点击效果):

 

   色盲/色弱模式:

   ClickableCaptcha是一个使用SkiaSharp类库的可点击图形验证码,这个图形验证码会生成6*6网格的图像,用户根据底部的提示点击图片内正确的相应位置。

自定义

  前端的宽高是根据返回的图片大小在css中硬编码的,如需要修改网格数量或者尺寸,请务必修改前端css代码中的样式。

部署

  目前只引用SkiaSharp包,如需部署需要安装对应的SkiaSharp.NativeAssets包:

  例如Linux:

<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.3" />

 

 

posted @ 2022-11-14 17:56  旋风小伙  阅读(537)  评论(0编辑  收藏  举报