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

推荐订阅源

月光博客
月光博客
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
量子位
小众软件
小众软件
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
G
Google Developers Blog
博客园 - 叶小钗
H
Help Net Security
Jina AI
Jina AI
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News

博客园 - 云舟不系

框架、平台与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