.NET加水印/验证码的NuGet包
.NET加水印/驗證碼的NuGet包?
我的在前兩篇文章中,我介紹了使用Direct2D給圖片加水印/驗證碼,今天我將其進行了封裝,發布了一個NuGet包Sdcb.Imaging:
<PackageReference Include="Sdcb.Imaging" Version="1.1.0" />或者在這個鏈接中下載:
https://www.nuget.org/packages/Sdcb.Imaging
前兩篇文章快速通道:
.NET中生成動態驗證碼
周杰,公眾號:DotNet騷操作.NET中生成動態驗證碼.NET中生成水印更好的方法
周杰,公眾號:sdcb.NET中生成水印更好的方法.NET中給圖片加水印
using (var imageStream = File.OpenRead(@"..\..\..\..\sample-images\src.png"))using (var outputStream = File.OpenWrite(@"..\..\..\..\sample-images\watermark-test1.png")){ WatermarkTool.WatermarkText( imageStream, outputStream, watermark: "Watermark here", font: "Times New Roman", fontSize: 30, colorARGB: 0x7f_FF_FF_FF); // 50% transparent white}其中,可以對字體(font),字體大小(fontSize),顏色(colorARGB)進行單獨配置,原圖如下:
加水印之后的效果:
.NET中創建驗證碼
byte[] pngBytes = CaptchaTool.CreatePngImage( width: 200, height: 100, text: "CAPTCHA", font: "Times New Roman", fontSize: 50.0f, lineCount: 5, rotation: false, turbulenceAmount: 60.0f);File.WriteAllBytes( @"..\..\..\..\sample-images\captcha-test1.png", pngBytes);其中,可以對字體(font)、字體大小(fontSize)、隨機線條數量(lineCount)、是否啟用隨機旋轉(rotation)、水波移動量(turbulenceAmount)單獨進行指定。
其中水波移動量(turbulenceAmount)可以為負數,表示向反方向移動。
驗證碼效果:
注意:
驗證碼不適合使用無襯線字母,因為容易分不清數字1/字母I/字母小寫l;
驗證碼適合全大寫,全大寫更容易分清字母L。
開啟旋轉則不適合使用英文,因為英文旋轉后辨識度不高(可以用中文);
水波移動量絕對值應該盡量低于100,否則人類也很難識別了。
作者:周杰
出處:微信公眾號【DotNet騷操作】
本文采用?知識共享署名-非商業性使用-相同方式共享 2.5 中國大陸許可協議?進行許可,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。
總結
以上是生活随笔為你收集整理的.NET加水印/验证码的NuGet包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5门可能衰落的编程语言
- 下一篇: 集群故障处理之处理思路以及健康状态检查(