C#利用原图和水印图的重叠简单实现水印的方法

2019-12-30 12:09:32丽君

public class ImageHelper
{
  #region " 水印存放的相对路径 "
  public static string GetLogoPath()
  {
    return "/images/logo.png";  ///水印图路径
  }
  #endregion
  #region " 图片水印 "
  // <summary>
  // 在图片上生成图片水印,此方法不支持Gif类型的图片
  // </summary>
  // <param name="Path">原服务器图片路径</param>
  // <param name="Path_syp">生成的带图片水印的图片路径</param>
  // <param name="Path_sypf">水印图片路径</param>
  public static void MarkImage(Stream InUploadImagePath, string inLogoImagePath, string InSavePath)
  {
    System.Drawing.Image Image = System.Drawing.Image.FromStream(InUploadImagePath);
    System.Drawing.Image newimage = Image.FromFile(Current.Server.MapPath(inLogoImagePath));
    Graphics g = Graphics.FromImage(Image);
    g.DrawImage(newimage, new Rectangle(Image.Width - newimage.Width, Image.Height - newimage.Height, newimage.Width, newimage.Height), 0, 0, newimage.Width, newimage.Height, GraphicsUnit.Pixel);
    try {
      Image.Save(Current.Server.MapPath(InSavePath));
    }
    catch (Exception ex) {
    }
    finally {
      g.Dispose();
      Image.Dispose();
      newimage.Dispose();
    }
  }
  #endregion
}
 

注:相关教程知识阅读请移步到c#教程频道。