软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络编程 > ASP.NET > ASP.net 实现质量很高的给图片加上水印

ASP.net 实现质量很高的给图片加上水印

  烈火教程 ASP.net 为上传的图片加上一个logo图片水印,生成图片质量很高,直接看实例代码:

  /// <summary>
    /// 加上logo图片水印
    /// </summary>
    /// <param name="FilePath">源图片地址</param>
    /// <param name="SavePath">图片保存路径</param>
    public static void AddWaterMark(string FilePath, string SavePath)
    {
        Bitmap bitmap = new Bitmap(FilePath);
        Graphics g = Graphics.FromImage(bitmap);

       System.Drawing.Image logo = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath("~/images/top/" + ConfigurationManager.AppSettings["WaterMarkLogo"].ToString()));//加载logo图片
       if (bitmap.Width < logo.Width || bitmap.Height <= logo.Height)
           return;

        //下面定义一个矩形区域,以后在这个矩形里画上透明背景和白色字体
        float rectWidth = (float)logo.Width;
       float rectHeight = (float)logo.Height;
       float rectX = bitmap.Width - rectWidth;
        float rectY = bitmap.Height - rectHeight;
        //声明矩形域
        RectangleF textArea = new RectangleF(rectX, rectY, rectWidth, rectHeight);
       g.DrawImage(logo, textArea);
        MemoryStream ms = new MemoryStream();
        //保存为Jpg类型
        bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        g.Dispose();
        bitmap.Dispose();
        logo.Dispose();

        FileStream fs = new FileStream(SavePath, FileMode.OpenOrCreate);
        fs.Write(ms.ToArray(), 0, ms.ToArray().Length);
        fs.Close();
        }
 

    相关阅读
    网友评论
    栏目导航
    推荐软件