Asp.net(C#)给图片加上水印效果

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.Year.ToString()  +  DateTime.Now.Month.ToString()  +  DateTime.Now.Day.ToString()  +  DateTime.Now.Hour.ToString()  +  DateTime.Now.Minute.ToString()  +  DateTime.Now.Second.ToString();  
                               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);  
                       }  
}

原文地址:https://www.cnblogs.com/zhuawang/p/715492.html