转载(忘记出处)给图片加水印的方法

这些天做网站需要给图片加水印,就翻硬盘翻这两个方法,但是却找不倒原作者的信息了。这里记录一下:

加图片水印:

        ///<summary>
        
/// 在图片上生成图片水印
        
/// </summary>
        
/// <param name="Path">原服务器图片路径</param>
        
/// <param name="Path_new">生成的带图片水印的图片路径</param>
        
/// <param name="Path_wm">水印图片路径</param>

        private void AddWatermark(string Path, string Path_new, string Path_wm)
        
{
            System.Drawing.Image image 
= System.Drawing.Image.FromFile(Path);
            System.Drawing.Image copyImage 
= System.Drawing.Image.FromFile(Path_wm);
            System.Drawing.Graphics g 
= System.Drawing.Graphics.FromImage(image);
            g.DrawImage(copyImage, 
new System.Drawing.Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 00, copyImage.Width+10,copyImage.Height+10, System.Drawing.GraphicsUnit.Pixel);
            g.Dispose();

            image.Save(Path_new);
            image.Dispose();
            copyImage.Dispose();

            File.Delete(Path);
//删除原图
        }


加文字水印:

 

    ///<summary>
    
/// 在图片上增加文字水印
    
/// </summary>
    
/// <param name="Path">原服务器图片路径</param>
    
/// <param name="Path_sy">生成的带文字水印的图片路径</param>

    protected void AddWordWatermark(string Path, string Path_sy)
    
{
        
string addText = "测试水印";
        System.Drawing.Image image 
= System.Drawing.Image.FromFile(Path);
        System.Drawing.Graphics g 
= System.Drawing.Graphics.FromImage(image);
        g.DrawImage(image, 
00, image.Width, image.Height);
        System.Drawing.Font f 
= new System.Drawing.Font("Verdana"16);
        System.Drawing.Brush b 
= new System.Drawing.SolidBrush(System.Drawing.Color.Blue);

        g.DrawString(addText, f, b, 
1515);
        g.Dispose();

        image.Save(Path_sy);
        image.Dispose();
    }

原来代码函数名称是用拼音的,我改成E文了。

posted @ 2006-08-23 11:23  KenBlove  阅读(1090)  评论(1编辑  收藏  举报