.NET生成动态验证码的完整步骤(3)

在此基础上,(感谢Direct2D/WIC)经过较小的改动,即可生成一个动态的Gif图片。

只要略微修改以上代码:

将PngBitmapEncoder改成GifBitmapEncoder*

然后将下面的for循环取消注释

将displacement.Scale = 100.0f;改成displacement.Scale = Math.Abs(frameId) * 10.0f;

即可看到以下效果(直接生成,非截图):

.NET生成动态验证码的完整步骤


.NET生成动态验证码的完整步骤


.NET生成动态验证码的完整步骤

结语

最终的代码生成效果,可以从这里下载,用LINQPad 6打开。

本文使用的是SharpDX,是C#到DirectX的转换层。一个坏消息是,上图中使用的SharpDX已经停止维护了,但目前还没找到可以用于替换的库(可能由于它太好用了)。

以前我经常将Direct2D用于游戏,但最近越来越多的时候Direct2D已经用于解决实际问题。由于Direct2D的高颜值、高性能,实际上,Direct2D已经无处不在,浏览器/Word/Excel等日常软件都是深度集成Direct2D的应用。相信Direct2D可以用于更多的场景中。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdszws.html