|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CAPTCHA [VS 2005]
Information sur la source
Description
Salut, voici une source qui génère un Captcha repris en partie de la source VB.NET de istamkenitra : http://www.vbfrance.com/codes/GENERATEUR-IMAGES-CAPTCHA_42006.aspx et remanié
Source
- Image captcha(PictureBox pictureBoxCible, int nbCaractere, int Largeur, int Hauteur, out string captchaStr)
- {
- Random ran = new Random();
-
- captchaStr = "";
-
- string[] sArray = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n",
- "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
- "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
- "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
- "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
-
- for (int i = 0; i < nbCaractere; i++)
- {
- int intRandom = ran.Next(0, sArray.Length);
-
- captchaStr = captchaStr + sArray[intRandom];
-
- if (captchaStr.Length > 8)
- {
- captchaStr = captchaStr.Remove(8, captchaStr.Length - 8);
- }
- }
-
- Graphics g = pictureBoxCible.CreateGraphics();
-
- //mesure de str
- SizeF sizeff = g.MeasureString(captchaStr, new Font("Arial", 25, FontStyle.Strikeout, GraphicsUnit.Pixel), 300);
-
- //rectangle aux dimensions de la chaine de caractere
- System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, Largeur, Hauteur); //new System.Drawing.Rectangle(0, 0, sizeff.Width, sizeff.Height);
-
-
- Bitmap b = new Bitmap(Largeur, Hauteur, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
-
- //graphics pour dessiner ds le bitmap
- Graphics gr = Graphics.FromImage(b);
-
- //dessin du background image
- HatchBrush hatchBrush = new HatchBrush(HatchStyle.Wave, Color.PowderBlue, Color.Black);
-
- gr.FillRectangle(hatchBrush, rect);
-
- //dessin des caratceres
- gr.DrawString(captchaStr, new Font("Arial", 30, FontStyle.Regular, GraphicsUnit.Point), Brushes.Yellow, 65, 0);
- gr.DrawString(captchaStr, new Font("Arial", 30, FontStyle.Regular, GraphicsUnit.Point), Brushes.Tomato, 67, 1);
-
- gr.DrawString("- - - - - ", new Font("Arial", 30, FontStyle.Bold, GraphicsUnit.Point), Brushes.Violet, 50, 4);
- gr.DrawString(" - - - - -", new Font("Arial", 30, FontStyle.Bold, GraphicsUnit.Point), Brushes.Thistle, 100, -7);
-
- return b;
- }
Image captcha(PictureBox pictureBoxCible, int nbCaractere, int Largeur, int Hauteur, out string captchaStr)
{
Random ran = new Random();
captchaStr = "";
string[] sArray = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n",
"p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
for (int i = 0; i < nbCaractere; i++)
{
int intRandom = ran.Next(0, sArray.Length);
captchaStr = captchaStr + sArray[intRandom];
if (captchaStr.Length > 8)
{
captchaStr = captchaStr.Remove(8, captchaStr.Length - 8);
}
}
Graphics g = pictureBoxCible.CreateGraphics();
//mesure de str
SizeF sizeff = g.MeasureString(captchaStr, new Font("Arial", 25, FontStyle.Strikeout, GraphicsUnit.Pixel), 300);
//rectangle aux dimensions de la chaine de caractere
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, Largeur, Hauteur); //new System.Drawing.Rectangle(0, 0, sizeff.Width, sizeff.Height);
Bitmap b = new Bitmap(Largeur, Hauteur, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
//graphics pour dessiner ds le bitmap
Graphics gr = Graphics.FromImage(b);
//dessin du background image
HatchBrush hatchBrush = new HatchBrush(HatchStyle.Wave, Color.PowderBlue, Color.Black);
gr.FillRectangle(hatchBrush, rect);
//dessin des caratceres
gr.DrawString(captchaStr, new Font("Arial", 30, FontStyle.Regular, GraphicsUnit.Point), Brushes.Yellow, 65, 0);
gr.DrawString(captchaStr, new Font("Arial", 30, FontStyle.Regular, GraphicsUnit.Point), Brushes.Tomato, 67, 1);
gr.DrawString("- - - - - ", new Font("Arial", 30, FontStyle.Bold, GraphicsUnit.Point), Brushes.Violet, 50, 4);
gr.DrawString(" - - - - -", new Font("Arial", 30, FontStyle.Bold, GraphicsUnit.Point), Brushes.Thistle, 100, -7);
return b;
}
Conclusion
Je suis débutant en C# donc vous savez ce qu'il ne faut pas dire :)
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 19 août 2008 20:18:24 :
- Le code pour le captcha est à présent dans une classe
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
cryptage [ par zeusdsl ]
bonjour je debute le C depuis peu et je faire un prog de cryptage selon vigenereles codes sources que j ai eu sur d autres sites sont un pe
Ajouter dynamiquement des composants graphiques [ par Sebulba ]
Bonjourj'ai un thread qui doit créer un élément graphique sur la form pour pouvoir se représenter.mon problème est que je n'arrive pas à afficher une
Classe Garphics [ par Nakah ]
Voila je dessine une image dans mon panel grace a l'objet Graphics, maintenant je voudrais savoir s'il est possible d'enregistrer mon image, si oui co
detection d image [ par pogo ]
bonjour za tous,je cherche un moyen (simple...) de detecter une image dans un flux. je m'explique : il faut que sur une fourchette courte (10 min de v
Problème d'Upload de fichier Image [ par pchanet ]
Bonjour à tous,J'ai un problème avec le code de téléchargement d'une image. Lorsque j'active le téléchargement, une erreur s'affiche :->> "La ré
Conversion d'un BMP en JPG [ par projetbts ]
Bonjour,Je cherche, par besoin de place, à convertir une image bmp en jpeg. Celle ci est, dans un premier temps, destiné a être placé en image (img sr
comment faire apparaitre une image dans un panel [ par dola7938 ]
en fait j'ai change de jeu et je me sui mis sur un puzzle :DMais je ne trouve pas comment faire apparaitre une image dans un panel lorsque je clike su
Cast Image Stocké BDD Access [ par kbumbazz ]
Salut a vous ... alors bon week end ?bon voila une des 1ere requête de la semaine :)J'ai une image sotckée dans un BDD Access avec un champ de type Ob
Problème VS.Net (Picturebox ressource exécution) [ par linx20 ]
Voila mon ptit probleme la compilation se passe sans warningLors de l'éxécution de ma premiere form et au moment de InitializeComponent, VisualStudio
Image 8 vers image 10 ou 12 voir 16 bits [ par pirate75000 ]
Comment passer une image 8 bits de niveau de grisen une image de:10 bits niveau de gris ou12 bits niveau de gris ou16 bits niveau de grisMerci
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|