上传水印图片就是一个选择图片、添加水印、进行上传的过程
绘制图片需要准备:
画布 - 大小
笔 - 颜色、粗细、样式
用什么字体
要画什么(李献策lxc)
步骤:
一、引用 System.Drawing 命名空间
二、设置<上传>按钮点击事件
1、判断是否选中文件
//判断是否选中文件,如果未选中则提示并跳出代码 if (FileUpload1.FileName.Length <= 0) { Response.Write("<script>alert('未选中任何文件!');</script>"); return; }
2、准备画布,即要加水印的图片
//准备画布,即要加水印的图片 System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);
3、绘制 Graphics
//进行绘制 Graphics g = Graphics.FromImage(img);//要绘制的图片 string s = "2017年,鸡年大吉!";//要添加的文字水印 Font f = new Font("微软雅黑", 20);//文字的字体和大小 Brush b = new SolidBrush(Color.Red);//画刷的颜色 PointF p = new PointF(20, 20);//水印起始坐标 g.DrawString(s,f,b,p);//进行绘制
4、进行保存
//保存图片 string Rpath = "Images/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName; img.Save(Server.MapPath(Rpath));
5、设置 Image 控件显示水印图片
//设置Image控件显示图片 Image1.ImageUrl = Rpath;
完整代码:
//<上传>按钮点击事件 void Button1_Click(object sender, EventArgs e) { //判断是否选中文件,如果未选中则提示并跳出代码 if (FileUpload1.FileName.Length <= 0) { Response.Write("<script>alert('未选中任何文件!');</script>"); return; } //准备画布,即要加水印的图片 System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent); //进行绘制 Graphics g = Graphics.FromImage(img);//要绘制的图片 string s = "2017年,鸡年大吉!";//要添加的文字水印 Font f = new Font("微软雅黑", 20);//文字的字体和大小 Brush b = new SolidBrush(Color.Red);//画刷的颜色 PointF p = new PointF(20, 20);//水印起始坐标 g.DrawString(s, f, b, p);//进行绘制 //保存图片 string Rpath = "Images/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName; img.Save(Server.MapPath(Rpath)); //设置Image控件显示图片 Image1.ImageUrl = Rpath; }