Heim >Backend-Entwicklung >C#.Net-Tutorial >Verwenden Sie ZKWeb.System.Drawing, um die Verifizierungscodefunktion unter .Net Core zu implementieren
In diesem Artikel wird die Verwendung von ZKWeb.System.Drawing eines Drittanbieters zur Implementierung der Bestätigungscodefunktion unter .Net Core vorgestellt.
Systeme, die den Test bestanden haben:
Windows 8.1 64bit
Ubuntu Server 16.04 LTS 64bit
Fedora 24 64bit
CentOS 7.2 64bit
kann das erreichen Folgende Funktionen:
JPG, BMP, ICO, PNG öffnen
JPG, BMP, ICO, PNG speichern
Bildgröße ändern
Grafiken mit Pinsel und Stift zeichnen
Schriftart öffnen und Zeichenfolge zeichnen
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(); }
Nr.3 Release-Bereitstellung und -Betrieb
Direkt darüber Bild, wenn Sie es nicht wissen, schauen Sie hier. Net Core Ubuntu 14.04-Bereitstellungsprozess (detailliertes Bild und Text)
Hinweis: Der Bestätigungscode wird unter Windows ohne generiert Druck. Ich verwende Ubuntu 14. Das GDI-Paket muss installiert werden und es wird eine Eingabeaufforderung im laufenden Protokoll angezeigt.
Installationsmethode:
Ubuntu 16.04:
apt-get install libgdiplus cd /usr/lib ln -s libgdiplus.so gdiplus.dll
Fedora 23:
dnf install libgdiplus cd /usr/lib64/ ln -s libgdiplus.so.0 gdiplus.dll
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
Das Obige ist der vom Herausgeber vorgestellte .Net Core , verwenden Sie ZKWeb.System.Drawing, um die Bestätigungscodefunktion (grafischer Bestätigungscode) zu implementieren. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!