激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

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

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

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

通過測試的系統(tǒng):

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

可以實現(xiàn)以下功能:

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();
//顏色列表,用于驗證碼、噪線、噪點(diǎn)
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));
//創(chuàng)建畫布
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);
}
//將驗證碼圖片寫入內(nèi)存流,并將其以 "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 發(fā)布部署運(yùn)行

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

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

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

安裝方法:

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實現(xiàn)驗證碼功能(圖形驗證碼),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品二区高清在线 | 黄色片网站免费在线观看 | 羞羞的动漫在线观看 | 成年人在线免费播放视频 | 在线天堂中文在线资源网 | 91看片片| 视频在线91| 久久久www免费看片 亚洲综合视频一区 | 欧美中文字幕一区二区三区亚洲 | 奇米影视四色7777 | 欧美极品欧美精品欧美视频 | 亚洲第一成人在线观看 | 国产一国产精品一级毛片 | 成人在线视频播放 | 成年人小视频在线观看 | 91久久99热青草国产 | 欧美精品久久久久久久久老牛影院 | 久久国产精品久久久久久电车 | 欧美三级一级 | 久久久久久久久浪潮精品 | 久久吊 | 黄视频网站免费 | 日韩在线观看视频一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 4p一女两男做爰在线观看 | chinesexxxx刘婷hd 国产资源视频在线观看 | 色av成人天堂桃色av | 欧美日韩在线播放一区 | 黄免费观看视频 | 国产91av视频| 羞羞的视频免费 | 国产91精品久久久久久久 | 视频在线色 | 黄色男女视频 | 91免费在线播放 | 久久免费视频一区二区三区 | 成人毛毛片 | h视频在线观看免费 | 久久99精品久久久久久园产越南 | 国产亚洲精品久久午夜玫瑰园 | 欧美1|