[2core]验证码+SkiaSharp实现

发布时间 2023-04-18 13:35:00作者: oO归客Oo

既然.net6已经实现真正意义上的跨平台,那么自然能够运行在linux操作系统环境里,不过在将.netframework代码迁移到.net6时,还是发现了不少问题,比如本文要说验证码图片处理。

在.netframework框架下,图片处理依赖底层的GDI+,.netframework也仅仅做了简单封装,这就使得图片处理在.netcore里显得很鸡肋,直到.net6版本微软官宣不支持了,这个不好说什么毕竟底层的技术不同(DirectX和OpenCV)。怎么办?微软官网也提供其他解决方案,不过最后还是选择了基于Google的Skia封装的SkiaSharp,原因吗?开源,强大,友好。

为了考驾证(已考出),三个多月没有编写程序代码,昨天晚上一顿操作很快就完事儿,且在Windows下运行顺利。所以今天就在Linux(Debian11)下测试运行了一下,经过一番操作也顺利运行。不过有不少事项需要注意,比如字体。

 

验证码效果如下图:

a.简单验证码

 b.计算验证码

 

 

程序源码:https://gitee.com/kinbor/jks.core.test.toolkit.captchas