.Net Core 之 图形验证码
本文介绍.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 简单的验证码生成
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 发布部署运行
直接上图,不会的看这里www.cnblogs.com/niao/p/6057860.html
注意:验证码Windows下生成无压力,我用的Ubuntu 14,需要安装gdi包,运行日志中会有提示。
安装方法:
Ubuntu 16.04:
apt-get install libgdiplus cd /usr/libln -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
【相关推荐】

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La mise à jour Windows 11 2022 (22H2) de Microsoft active par défaut la protection de l'intégrité de la mémoire de CoreIsolation. Cependant, si vous utilisez une ancienne version du système d'exploitation, telle que Windows 11 2022 Update (22H1), vous devrez activer cette fonctionnalité manuellement. Activez la fonctionnalité d'intégrité de la mémoire de CoreIsolation dans Windows 11. Pour les utilisateurs qui ne connaissent pas Core Isolation, il s'agit d'un processus de sécurité conçu pour protéger les activités principales de base de Windows contre les programmes malveillants en les isolant en mémoire. Ce processus, combiné à la fonction d'intégrité de la mémoire, garantit

Le noyau a deux significations dans les ordinateurs : 1. Le noyau, également appelé noyau, est le composant le plus important du processeur. Tous les calculs, l'acceptation des commandes de stockage et le traitement des données du processeur sont effectués par le noyau. core est le nom du processeur d'Intel, Core est la marque de processeur lancée par Intel après le processeur Pentium. Elle a actuellement lancé des processeurs Core de douzième génération.

Que vous soyez débutant ou professionnel expérimenté, la maîtrise du C# ouvrira la voie à votre carrière.

Le développement des technologies d’intelligence artificielle (IA) bat son plein aujourd’hui et elles ont montré un grand potentiel et une grande influence dans divers domaines. Aujourd'hui, Dayao partagera avec vous 4 cadres de projets liés au modèle d'IA open source .NET LLM, dans l'espoir de vous fournir une référence. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel est un kit de développement logiciel (SDK) open source conçu pour intégrer de grands modèles de langage (LLM) tels qu'OpenAI, Azure
![Comment réparer l'erreur de déclenchement thermique du processeur dans Windows 11/10 [Réparer]](https://img.php.cn/upload/article/000/000/164/168169038621890.png?x-oss-process=image/resize,m_fill,h_207,w_330)
La plupart des appareils tels que les ordinateurs portables et les ordinateurs de bureau sont depuis longtemps largement utilisés par les jeunes joueurs et codeurs. Le système se bloque parfois en raison d'une surcharge des applications. Cela oblige les utilisateurs à arrêter leurs systèmes. Cela arrive principalement aux joueurs qui installent et jouent à des jeux lourds. Lorsque le système tente de démarrer après un arrêt forcé, il génère une erreur sur un écran noir comme indiqué ci-dessous : Vous trouverez ci-dessous les avertissements détectés lors de ce démarrage. Ceux-ci peuvent être consultés dans les paramètres de la page du journal des événements. Avertissement : déclenchement thermique du processeur. Appuyez sur n'importe quelle touche pour continuer. ..Ces types de messages d'avertissement sont toujours émis lorsque la température du processeur d'un ordinateur de bureau ou d'un ordinateur portable dépasse son seuil de température. Vous trouverez ci-dessous les raisons pour lesquelles cela se produit sur les systèmes Windows. De nombreuses applications lourdes sont en cours

Si vous êtes un développeur .NET, vous devez être conscient de l'importance d'optimiser les fonctionnalités et les performances pour fournir des logiciels de haute qualité. En utilisant de manière experte les ressources fournies et en réduisant les temps de chargement des sites Web, vous créez non seulement une expérience agréable pour vos utilisateurs, mais vous réduisez également les coûts d'infrastructure.

En termes de traitement des requêtes à haute concurrence, .NETASP.NETCoreWebAPI fonctionne mieux que JavaSpringMVC. Les raisons incluent : la compilation précoce AOT, qui réduit le temps de démarrage, une gestion plus raffinée de la mémoire, où les développeurs sont responsables de l'allocation et de la libération de la mémoire des objets.

Avec le lancement de .NETCore, les développeurs .NET disposent d'une nouvelle opportunité pour écrire et exécuter facilement des applications .NET sur plusieurs systèmes d'exploitation. Cet article expliquera comment utiliser .NETCore pour réaliser le développement d'applications multiplateformes et partagera les meilleures pratiques sur les systèmes d'exploitation tels que Windows, Linux et macOS. 1. Préparez l'environnement de développement. Pour démarrer le développement d'applications multiplateformes, vous devez d'abord préparer l'environnement de développement pour chaque plateforme cible. Windows Sous Windows, vous pouvez installer .NETCoreSDK via Visual Studio. Une fois l'installation terminée, vous pouvez créer et exécuter des projets .NETCore via Visual Studio. Li
