Heim  >  Artikel  >  php教程  >  Wasserzeichen für die Web-Frontend-Entwicklung, Bildverifizierungscode

Wasserzeichen für die Web-Frontend-Entwicklung, Bildverifizierungscode

高洛峰
高洛峰Original
2016-12-05 10:00:261252Durchsuche

1. Wasserzeichen

1. Leinwand

System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);

2. Erstellen Sie ein Zeichenobjekt und teilen Sie ihm mit, auf welchem ​​Bild gezeichnet werden soll

Graphics g = Graphics.FromImage(img);

3. Zeichnungsinhalt

string s = <a href="http://www.php.cn">www.php.cn</a>;

4 Schriftart

Font f = new Font("黑体",130);

5. Der Zeichenpinsel

Brush b = new SolidBrush(Color.Red);

6. Beginnen Sie mit dem Zeichnen

g.DrawString(s, f, b, 5, 5);

2. Bildbestätigungscode

Bitmap bit = new Bitmap(90, 40);//画布大小
    Graphics g = Graphics.FromImage(bit);//创建绘制对象,告诉它往哪张图片上绘制
    Random r = new Random();
    string s = "";
    Color color1 = Color.FromArgb(r.Next(155, 255), r.Next(155, 255), r.Next(155, 255));
    g.FillRectangle(new SolidBrush(color1), 0, 0, 90, 40);//画布颜色随机
    for (int i = 0; i < 10; i++)//随机画干扰线
    {
      Color color3 = Color.FromArgb(r.Next(170, 255), r.Next(190, 255), r.Next(170, 255));
      Pen pp = new Pen(new SolidBrush(color3), r.Next(0, 5));
      g.DrawLine(pp, r.Next(0, 90), r.Next(0, 40), r.Next(0, 90), r.Next(0, 40));
    }
    string yan = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";//设置随机的验证码,从里面抽取
    int wei = 0;
    for (int i = 0; i < 4; i++)//取四位验证码,颜色随机
    {
      string m = yan.Substring(r.Next(0, yan.Length), 1);
      s += m;
      Color color2 = Color.FromArgb(r.Next(0, 155), r.Next(0, 155), r.Next(0, 155));
      int w = r.Next(20, 25);
      Font f = new Font("黑体", w);
      SolidBrush b = new SolidBrush(color2);
      g.DrawString(m, f, b, wei, r.Next(0, 10));
      wei += w;
    }
    Session["YZM"] = s;//把验证码保存到session中
    for (int i = 0; i < 251; i++)
    {
      Color color3 = Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255));
      Pen pp = new Pen(new SolidBrush(color3), r.Next(0, 5));
      int a = r.Next(0, 90);
      int b = r.Next(0, 40);
      g.DrawLine(pp, a, b, (a + 1), (b + 1));
    }
    bit.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
    Response.End();

Verifizierung Code:

<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    <asp:Image ID="Image1" runat="server" ImageUrl="Default2.aspx" />//这里图片路径不是一张图片的话会默认打开

Das Obige ist der vom Herausgeber freigegebene Wasserzeichen- und Bildüberprüfungscode Helft allen.

Stellungnahme:
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