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

来源:互联网 发布:酒店软件系统 编辑:程序博客网 时间:2024/05/21 08:59
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;

namespace QianBianWanHua_Lib
{
    
/// <summary>
    
/// 功能说明:给图片加水印,分为文字和图片两种
    
/// 程序员:段小勇
    
/// 日期:2007-11-12
    
/// </summary>

    public class PicContron
    
{
        
public PicContron()
        
{

        }


        
/// <summary>
        
/// 给图片加上文字水印,位置在图片的右下角
        
/// </summary>
        
/// <param name="PicPath">图片路径</param>
        
/// <param name="Text">在图片上的文字</param>

        public static void AddTextToPic(string PicPath,string Text)
        
{
            System.Drawing.Image image 
= System.Drawing.Image.FromFile(PicPath);
            Graphics g 
= Graphics.FromImage(image);
            
int _intX = 0;
            
int _intY = image.Height;
            
try
            
{
                _intX 
= image.Width - 180;
            }

            
catch
            
{
                _intX 
= 0;
            }

            
try
            
{
                _intY 
= image.Height - 60;
            }

            
catch
            
{
                _intY 
= 0;
            }

            g.DrawImage(image, 
00, image.Width, image.Height);
            Font f 
= new Font("Verdana"20);
            Brush b 
= new SolidBrush(Color.Red);            
            g.DrawString(Text, f, b, _intX, _intY);
            g.Dispose();
            image.Save(PicPath
+"t");
            image.Dispose();
            
if (File.Exists(PicPath))
            
{
                File.Delete(PicPath);
            }

            
if (File.Exists(PicPath+"t"))
            
{
                File.Move(PicPath 
+ "t", PicPath);
            }

        }


        
/// <summary>
        
/// 
        
/// </summary>
        
/// <param name="PicPath"></param>
        
/// <param name="ImagePic"></param>

        public static void AddImageToPic(string PicPath, string ImagePic)
        
{
            System.Drawing.Image image 
= System.Drawing.Image.FromFile(PicPath);
            System.Drawing.Image copyImage 
= System.Drawing.Image.FromFile(ImagePic);
            
int _intX = 0;
            
int _intY = image.Height;
            
try
            
{
                _intX 
= image.Width - 180;
            }

            
catch
            
{
                _intX 
= 0;
            }

            
try
            
{
                _intY 
= image.Height - 60;
            }

            
catch
            
{
                _intY 
= 0;
            }

            Graphics g 
= Graphics.FromImage(image);
            g.DrawImage(copyImage, 
new Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 00, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
            g.Dispose();
            image.Save(PicPath 
+ "t");
            image.Dispose();
            
if (File.Exists(PicPath))
            
{
                File.Delete(PicPath);
            }

            
if (File.Exists(PicPath + "t"))
            
{
                File.Move(PicPath 
+ "t", PicPath);
            }

        }

    }

}

 
原创粉丝点击