LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#asp.net图片水印和图片验证码

admin
2021年3月3日 17:28 本文热度 3289

两者都需要引入命名空间:using System.Drawing;

一、图片水印

前台Photoshuiyin.aspx代码:

<div>

  <asp:FileUpload ID="FileUpload1" runat="server" />

  <asp:Button ID="Button1" runat="server" Text="上传" /><br />

  <asp:Image ID="Image1" runat="server" />

</div>


后台Photoshuiyin.aspx.cs代码:

protected void Page_Load(object sender, EventArgs e)

{

    Button1.Click += Button1_Click;

}


void Button1_Click(object sender, EventArgs e)

{

    //1、制作画布

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


    Graphics g = Graphics.FromImage(img);

    //水印样式:画什么东西

    string a = "http://www.itnba.com";

    //字体、大小

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

    //颜色

    Brush b = new SolidBrush(Color.Red);

    //0,0——开始画水印的位置

    g.DrawString(a, f, b, 0, 0);

    //保存路径

    string path = "images/" + FileUpload1.FileName;

    img.Save(Server.MapPath(path));

    //在image控件中展示

    Image1.ImageUrl = path;

}

效果展示:


 


二、图片验证码

前台Photoyanzhengma.aspx代码:

<form id="form1" runat="server">

    <div>

            用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

            <br />

            密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

            <br />

            验证码:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>

            <asp:Image ID="Image1" runat="server" ImageUrl="YZM.aspx" />

            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

            <br />

            <asp:Button ID="Button1" runat="server" Text="Button" />

    </div>

    </form>

</body>

</html>

<script type="text/javascript">

    var aaa = 1;

    document.getElementById("Image1").onclick = function () {

        this.setAttribute("src", "YZM.aspx?id=" + aaa);

        aaa++;

    };

</script>


链接页面“YZM.aspx”——无需前台代码,后台代码是:

protected void Page_Load(object sender, EventArgs e)

{

    Random r = new Random();

    string aaa = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

    //生成画布

    Bitmap img = new Bitmap(80, 30);

    //画布背景色泛性组合

    List<Color> Clist = new List<Color>();

    Clist.Add(Color.Yellow);

    Clist.Add(Color.Green);

    Clist.Add(Color.Blue);

    Clist.Add(Color.Aqua);

    Clist.Add(Color.Orange);

    Clist.Add(Color.Pink);

    Graphics g = Graphics.FromImage(img);

    g.FillRectangle(new SolidBrush(Clist[r.Next(0, Clist.Count)]), 0, 0, 80, 30);

    //随机生成显示的验证码组合

    string str = "";

    for (int i = 0; i < 4; i++)

    {

        str += aaa.Substring(r.Next(0, aaa.Length), 1);

    }

    Session["YZM"] = str;

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

    Brush b = new SolidBrush(Color.Red);

    //生成

    g.DrawString(str, f, b, 10, 0);

    //添加干扰线

    for (int i = 0; i < r.Next(6, 20); i++)

    {

        Brush bb = new SolidBrush(Clist[r.Next(0, Clist.Count)]);

        Pen p = new Pen(bb, 1);

        g.DrawLine(p, r.Next(0, 80), r.Next(0, 30), r.Next(0, 80), r.Next(0, 30));

    }

    //保存完成

    img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

    Response.End();

}

效果展示:



该文章在 2021/3/3 17:28:13 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved