• 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);  
                           }  
    }

  • 相关阅读:
    路飞项目五
    路飞项目四
    路飞项目三
    路飞项目二
    基本数据类型之集合和字符编码
    3.11 作业
    基本数据类型内置方法
    3.10 作业
    流程控制之for循环、基本数据类型及其内置方法
    3.9 作业
  • 原文地址:https://www.cnblogs.com/zhuawang/p/715492.html
Copyright © 2020-2023  润新知