为图片加水印

//下面的代码中,加文字水印和加图片水印的代码不能共存,为了方便显示才写在一块的 
private void Btn_Upload_Click(object sender, System.EventArgs e) 

if(UploadFile.PostedFile.FileName.Trim()!=""

//上传文件 
string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper(); 
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss"); 
string path = Server.MapPath("."+ "/UploadFile/" + fileName + extension; 
UploadFile.PostedFile.SaveAs(path); 


//加文字水印,注意,这里的代码和以下加图片水印的代码不能共存 
System.Drawing.Image image = System.Drawing.Image.FromFile(path); 
Graphics g 
= Graphics.FromImage(image); 
g.DrawImage(image, 
00, image.Width, image.Height); 
Font f 
= new Font("Verdana"32); 
Brush b 
= new SolidBrush(Color.White); 
string addText = AddText.Value.Trim(); 
g.DrawString(addText, f, b, 
1010); 
g.Dispose(); 


//加图片水印 
System.Drawing.Image image = System.Drawing.Image.FromFile(path); 
System.Drawing.Image copyImage 
= System.Drawing.Image.FromFile( Server.MapPath("."+ "/Alex.gif"); 
Graphics g 
= Graphics.FromImage(image); 
g.DrawImage(copyImage, 
new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 00, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel); 
g.Dispose(); 


//保存加水印过后的图片,删除原始图片 
string newPath = Server.MapPath("."+ "/UploadFile/" + fileName + "_new" + extension; 
image.Save(newPath); 
image.Dispose(); 
if(File.Exists(path)) 

File.Delete(path); 
}
 


Response.Redirect(newPath); 
}
 
}
 

from: http://hi.baidu.com/xielihua1999/blog/item/7ad3a045efae3626cffca344.html
posted @ 2007-08-03 09:53  M'  阅读(276)  评论(0编辑  收藏  举报