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

    xiaoxiao2026-06-12  6

    首先引用命名空间: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控件中将绘制好的图片显示出来 }

    转载请注明原文地址: https://ju.6miu.com/read-1310430.html
    最新回复(0)