C#图片验证码制作,上传图片加水印,使用Drawing绘制

首先引用命名空间:system.Drawing; 

将aspx页面当做图片路径,在load事件中进行绘制并保存在内存流中

<span style="white-space:pre">	</span>//1、准备画布
        Bitmap img = new Bitmap(60,30);//使用位图,宽度60像素,高度30像素

        //2、准备画画的一系列内容
        Graphics g = Graphics.FromImage(img); //使用graphics类,选择在哪张图片上画
        string all = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYQ1234567890";

        string s = ""; //填充绘制内容
        Random r = new Random();
        for (int i = 0; i < 4; i++)
        {
            s += all.Substring(r.Next(all.Length), 1);  
        }

        Session["yzm"] = s; //验证码记录到session中
        Font f = new Font("宋体",18); //使用字体和字号
        SolidBrush b = new SolidBrush(Color.Red); //创建画刷并设置画刷颜色
        //3、画
        g.DrawString(s, f, b, 0, 0); //绘制字符串

        img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png); //保存到输出流,保存格式为png



C#上传图片加水印的绘制方法:

void Button1_Click(object sender, EventArgs e)
    {
        //使用Drawing中的Image图像为背景图,并将图片指向到FileUpload控件选中的图片的内存流
        System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);

        Graphics g = Graphics.FromImage(img);//绘制类,绘制图片指向
        string s = "http://www.itnba.com/";//绘制内容
        Font f = new Font("宋体",17); //绘制字体
        SolidBrush b = new SolidBrush(Color.PowderBlue);//画刷样式

        g.DrawString(s, f, b, 0, 0); //绘制

        string path = Server.MapPath("Uploads/" + FileUpload1.FileName); //创建保存路径
        img.Save(path);//将内存中绘制好的图片存到指定路径中

        Image1.ImageUrl = "Uploads/" + FileUpload1.FileName;//在Image控件中将绘制好的图片显示出来
    }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值