asp.net为图片增加自己的版权信息

一、创建一个类

源代码如下

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;

/// <summary>
/// ImageRight 的摘要说明
/// 给图片增加版权信息
/// </summary>
public class ImageRight
{
 public ImageRight()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
    public void createCopyRight(string fileName,string rightName,string fontName,float fontSize,Brush fontColor)
    {
        //不是Jpg或者gif就返回
        if (!fileName.ToLower().EndsWith("jpg") && !fileName.ToLower().EndsWith("gif"))
            return;
        //透明Gif不能处理
        if (GetImageFormat(fileName) == System.Drawing.Imaging.ImageFormat.Gif)
            return;
        try
        {
            System.Drawing.Image image = System.Drawing.Image.FromFile(fileName);
            int w = image.Width;
            int h = image.Height;
            //图片太小不用处理了。
            if (image.Width < 300 || image.Height < 100)
                return;
            Graphics g = Graphics.FromImage(image);
            //写版权文字
            //g.DrawString("图片上传于 FORUMS.CODER.CN", new Font("宋体", 9), Brushes.White, new PointF(w - 180, h - 20));
            g.DrawString(rightName, new Font(fontName,fontSize), fontColor, new PointF(w - 180, h - 20));
            g.Save();

            Bitmap bmp = new Bitmap(image);
            //保存临时文件
            bmp.Save(fileName + ".tmp", GetImageFormat(fileName));
            g.Dispose();
            image.Dispose();
            bmp.Dispose();
            //下面是将临时文件重命名
            System.IO.File.Delete(fileName);
            System.IO.File.Copy(fileName + ".tmp", fileName);
            System.IO.File.Delete(fileName + ".tmp");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

    System.Drawing.Imaging.ImageFormat GetImageFormat(string FileName)
    {
        string ext = System.IO.Path.GetExtension(FileName);
        System.Drawing.Imaging.ImageFormat fmt = System.Drawing.Imaging.ImageFormat.Jpeg;
        switch (ext.ToLower())
        {
            case "jpg":
                fmt = System.Drawing.Imaging.ImageFormat.Jpeg;
                break;
            case "jpeg":
                goto case "jpg";
            case "gif":
                fmt = System.Drawing.Imaging.ImageFormat.Gif;
                break;
            case "bmp":
                fmt = System.Drawing.Imaging.ImageFormat.Bmp;
                break;
            case "png":
                fmt = System.Drawing.Imaging.ImageFormat.Png;
                break;
        }
        return fmt;

    }
}
 

二、调用

    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            ImageRight i = new ImageRight();
            i.createCopyRight(Server.MapPath("Portugal.jpg"),"制作单位:BB-CIMS","宋体",15,Brushes.Red);
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }

三、测试环境:WinXPSP2+VS.NET2005

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值