惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园_首页
C
Check Point Blog
小众软件
小众软件
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
美团技术团队
Martin Fowler
Martin Fowler
Vercel News
Vercel News
D
Docker
罗磊的独立博客
B
Blog RSS Feed
The Cloudflare Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
雷峰网
雷峰网
博客园 - Franky

博客园 - 云舟不系

框架、平台与AI:框架和平台 安装Android开发环境 论架构师的重要性 Kodi - 设置视频缓存(解决局域网视频播放卡顿问题) 我们终将成为普通人 察言堪道 [转载]平台即运行时:平台工程的下一步 kbgressdb之数据结构V0.2 kbnet.toolkit.formulas kbgressdb之数据结构V0.1 JK技术汇总 kbnet.xaas.dapi kbnet.xaas.papi 归来兮现在 kbnet.view.eap 人生如若初见 [2core]加解密算法 [2core]条形码+ZXing.NET+SkiaSharp [2core]WorkerService在Windows和Linux下部署与运行
[2core]验证码+SkiaSharp
云舟不系 · 2023-04-18 · via 博客园 - 云舟不系

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

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

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

验证码效果如下图:

a.简单验证码

 b.计算验证码

 c.文字点选验证码

d.拼图验证码 

e.图片旋转验证码:由于这种验证码体验不好,没写Demo,但功能已经实现

f.看图识物验证码 :由于这种验证码体验不好,没写Demo,但功能已经实现

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