.NET加水印/验证码的NuGet包
.NET加水印/驗(yàn)證碼的NuGet包?
我的在前兩篇文章中,我介紹了使用Direct2D給圖片加水印/驗(yàn)證碼,今天我將其進(jìn)行了封裝,發(fā)布了一個(gè)NuGet包Sdcb.Imaging:
<PackageReference Include="Sdcb.Imaging" Version="1.1.0" />或者在這個(gè)鏈接中下載:
https://www.nuget.org/packages/Sdcb.Imaging
前兩篇文章快速通道:
.NET中生成動(dòng)態(tài)驗(yàn)證碼
周杰,公眾號:DotNet騷操作.NET中生成動(dòng)態(tài)驗(yàn)證碼.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)進(jìn)行單獨(dú)配置,原圖如下:
加水印之后的效果:
.NET中創(chuàng)建驗(yàn)證碼
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)、隨機(jī)線條數(shù)量(lineCount)、是否啟用隨機(jī)旋轉(zhuǎn)(rotation)、水波移動(dòng)量(turbulenceAmount)單獨(dú)進(jìn)行指定。
其中水波移動(dòng)量(turbulenceAmount)可以為負(fù)數(shù),表示向反方向移動(dòng)。
驗(yàn)證碼效果:
注意:
驗(yàn)證碼不適合使用無襯線字母,因?yàn)槿菀追植磺鍞?shù)字1/字母I/字母小寫l;
驗(yàn)證碼適合全大寫,全大寫更容易分清字母L。
開啟旋轉(zhuǎn)則不適合使用英文,因?yàn)橛⑽男D(zhuǎn)后辨識度不高(可以用中文);
水波移動(dòng)量絕對值應(yīng)該盡量低于100,否則人類也很難識別了。
作者:周杰
出處:微信公眾號【DotNet騷操作】
本文采用?知識共享署名-非商業(yè)性使用-相同方式共享 2.5 中國大陸許可協(xié)議?進(jìn)行許可,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。
總結(jié)
以上是生活随笔為你收集整理的.NET加水印/验证码的NuGet包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5门可能衰落的编程语言
- 下一篇: ASP.NET Core on K8S深