图片加水印c#

来源:互联网 发布:网络防雷保护器 编辑:程序博客网 时间:2024/06/05 07:38
下面的代码中,加文字水印和加图片水印的代码不能共存,为了方便显示才写在一块的 
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, 0, 0, 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, 10, 10); 
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), 0, 0, 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); 





参考:


http://msdn.microsoft.com/zh-cn/library/windows/apps/k421k3cd(v=vs.90)?cs-save-lang=1&cs-lang=csharp#code-snippet-1


http://msdn.microsoft.com/zh-cn/library/42807xh1.aspx

0 0
原创粉丝点击