Heim > Backend-Entwicklung > C#.Net-Tutorial > .Net Core-Grafikverifizierungscode

.Net Core-Grafikverifizierungscode

高洛峰
Freigeben: 2017-05-26 13:32:01
Original
3048 Leute haben es durchsucht

In diesem Artikel wird die Verwendung von ZKWeb.System.Drawing eines Drittanbieters zur Implementierung der Bestätigungscodefunktion unter .Net Core vorgestellt.

通过测试的系统:
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
Nach dem Login kopieren

Das Obige ist die offizielle Information.

Projekt Nr. 1 führt ZKWeb.System.Drawing ein

NuGet-Importpaket, Baidu weiß nicht, wie es geht.

Nr.2 Einfache Verifizierungscode-Generierung

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();
}
Nach dem Login kopieren

Nr.3 Veröffentlichen, bereitstellen und ausführen

Direkt über dem Bild, wenn Sie nicht wissen wie, schauen Sie hier www.cnblogs.com/niao/p/6057860.html

.Net Core-Grafikverifizierungscode

Hinweis: Unter Windows besteht kein Druck, den Bestätigungscode zu generieren, und ich verwende Ubuntu 14 Installieren Sie das GDI-Paket. Im Betriebsprotokoll wird eine Eingabeaufforderung angezeigt.

Installationsmethode:

Ubuntu 16.04:

apt-get install libgdiplus
cd /usr/libln -s libgdiplus.so gdiplus.dll
Nach dem Login kopieren

Fedora 23:

dnf install libgdiplus
cd /usr/lib64/ln -s libgdiplus.so.0 gdiplus.dll
Nach dem Login kopieren

CentOS 7:

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
Nach dem Login kopieren

[Verwandte Empfehlungen]

1. .NET Core-Konfigurationsdatei laden und DI-Injektion von Konfigurationsdaten

2..NET Core CLI-Tool-Dokumentation veröffentlichen

3. ZKEACMS für .Net Core im Detail vorstellen

4. Teilen Sie den Formularüberprüfungs-Beispielcode in .net MVC

5. Wie erstelle ich eine HTTP-Anfrage unter .net Core?

6. Instanz-Tutorial zum Ausführen von ZKEACMS unter CentOS

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage