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