一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .Net Core 下使用ZKWeb.System.Drawing實現驗證碼功能(圖形驗證碼)

.Net Core 下使用ZKWeb.System.Drawing實現驗證碼功能(圖形驗證碼)

2020-03-31 18:25NiaoX ASP.NET教程

本文介紹.Net Core下用第三方ZKWeb.System.Drawing實現驗證碼功能。非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧

本文介紹.Net Core下用第三方ZKWeb.System.Drawing實現驗證碼功能。

通過測試的系統:

Windows 8.1 64bit
Ubuntu Server 16.04 LTS 64bit
Fedora 24 64bit
CentOS 7.2 64bit

可以實現以下功能:

Open jpg, bmp, ico, png
Save jpg, bmp, ico, png
Resize image
Draw graphics with brush and pen
Open font and draw string

以上是官方給的資料。

No.1 項目引入ZKWeb.System.Drawing

NuGet引入包,不會的自己百度。

No.2 簡單的驗證碼生成

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
int codeW = 80;
int codeH = 30;
int fontSize = 16;
Random rnd = new Random();
//顏色列表,用于驗證碼、噪線、噪點
Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };
//字體列表,用于驗證碼
string[] font = { "Times New Roman" };
//驗證碼的字符集,去掉了一些容易混淆的字符
//寫入Session、驗證碼加密
//WebHelper.WriteSession("session_verifycode", Md5Helper.MD5(chkCode.ToLower(), 16));
//創建畫布
Bitmap bmp = new Bitmap(codeW, codeH);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
//畫噪線
for (int i = 0; i < 1; i++)
{
int x1 = rnd.Next(codeW);
int y1 = rnd.Next(codeH);
int x2 = rnd.Next(codeW);
int y2 = rnd.Next(codeH);
Color clr = color[rnd.Next(color.Length)];
g.DrawLine(new Pen(clr), x1, y1, x2, y2);
}
//畫驗證碼字符串
for (int i = 0; i < chkCode.Length; i++)
{
string fnt = font[rnd.Next(font.Length)];
Font ft = new Font(fnt, fontSize);
Color clr = color[rnd.Next(color.Length)];
g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 18, (float)0);
}
//將驗證碼圖片寫入內存流,并將其以 "image/Png" 格式輸出
MemoryStream ms = new MemoryStream();
try
{
bmp.Save(ms, ImageFormat.Png);
return ms.ToArray();
}
catch (Exception)
{
return null;
}
finally
{
g.Dispose();
bmp.Dispose();
}

No.3 發布部署運行

直接上圖,不會的看這里.Net Core 之 Ubuntu 14.04 部署過程(圖文詳解)

.Net Core 下使用ZKWeb.System.Drawing實現驗證碼功能(圖形驗證碼)

注意:驗證碼Windows下生成無壓力,我用的Ubuntu 14,需要安裝gdi包,運行日志中會有提示。

安裝方法:

Ubuntu 16.04:

?
1
2
3
apt-get install libgdiplus
cd /usr/lib
ln -s libgdiplus.so gdiplus.dll

Fedora 23:

?
1
2
3
dnf install libgdiplus
cd /usr/lib64/
ln -s libgdiplus.so.0 gdiplus.dll

CentOS 7:

?
1
2
3
4
5
6
7
8
9
10
11
yum install autoconf automake libtool
yum install freetype-devel fontconfig libXft-devel
yum install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel
yum install glib2-devel cairo-devel
git clone https://github.com/mono/libgdiplus
cd libgdiplus
./autogen.sh
make
make install
cd /usr/lib64/
ln -s /usr/local/lib/libgdiplus.so gdiplus.dll

以上所述是小編給大家介紹的.Net Core 下使用ZKWeb.System.Drawing實現驗證碼功能(圖形驗證碼),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/niao/archive/2016/11/14/6063587.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲男人精品 | 99久久香蕉国产综合影院 | 欧美午夜网站 | 国产最强大片免费视频 | 久久日本片精品AAAAA国产 | 百合互慰吃奶互揉漫画 | 久久re热在线视频精6 | 美女扒开屁股让男人进去 | 免费视频完整版在线观看网站 | 亚洲社区在线观看 | α级毛片 | 免费看a视频 | 女人被男人躁得好爽免费视频 | 成人黄页网站 | 天天综合天天影视色香欲俱全 | 校花被强迫np肉高h 校服下的白嫩小乳尖h1v1 | 四虎影视在线影院在线观看 | 色yeye在线观视频 | 日本sss| 欧美日韩精| 国产拍拍 | 精品小视频在线观看 | 99久久免费看精品国产一区 | 国产一级精品高清一级毛片 | 国内精品自产拍在线观看91 | 波多野结衣xxxxx在线播放 | 欧美激情 亚洲 | 美女校花被调教出奶水 | 4438全国免费观看 | 欧美老肥妇bbbw | 91在线精品国产丝袜超清 | 黑人biglackon10十 | ts人妖国产一区 | 九九99在线视频 | 被巨大黑人的翻白眼 | 日韩一区二区三区免费 | 7777奇米四色 | 午夜影院免费观看视频 | 免费日韩| 高清女主播一区二区三区 | 国产国语在线播放视频 |