温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • asp.net继承IHttpHandler接口如何实现给网站图片添加水印功能

asp.net继承IHttpHandler接口如何实现给网站图片添加水印功能

发布时间:2021-08-27 09:58:37 来源:亿速云 阅读:132 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“asp.net继承IHttpHandler接口如何实现给网站图片添加水印功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“asp.net继承IHttpHandler接口如何实现给网站图片添加水印功能”这篇文章吧。

先展示图片效果:

asp.net继承IHttpHandler接口如何实现给网站图片添加水印功能

1. 在App_Code下添加类文件,命名为ImageSY 文件内容如下

public class ImageSY : IHttpHandler
{
  public ImageSY()
  {
    //
    //TODO: 在此处添加构造函数逻辑
    //
  }
  #region IHttpHandler 成员
  public bool IsReusable
  {
    get { return true; }
  }
  public void ProcessRequest(HttpContext context)
  {
    //获得请求的物理图片路径
    string imagePath = context.Request.PhysicalPath;
    System.Drawing.Image image = null;
    if (File.Exists(imagePath))
    {
      //定义水印文字
      string text = "本图片来至我的网站";
      //定义水印文字字体大小
      int fontSize = 22;
      //水印文字字体
      Font font = new Font("宋体", fontSize);
      //根据图片物理地址加载图片
      image = System.Drawing.Image.FromFile(imagePath);
      Graphics g = Graphics.FromImage(image);
      //获取要绘制水印文字所需要的显示区域大小
      SizeF size = g.MeasureString(text, font);
      if (size.Width > image.Width || size.Height > image.Height)
      {
      }
      else
      {
        Brush brush = Brushes.Red;
        g.DrawString(text, font, brush, image.Width - size.Width, image.Height - size.Height);
        g.Dispose();
      }
    }
    else
    {
    }
    image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
  }
  #endregion
}

2. 配置WebConfig,添加Location新节点

<location path="images">
 <system.web>
  <httpHandlers>
  <!---对jpg文件添加水印-->
  <add verb="*" type="ImageSY" path="*.jpg"/>
  <add verb="*" type="ImageSY" path="*.gif"/>
  <add verb="*" type="ImageSY" path="*.bmp"/>
  </httpHandlers>
 </system.web>
 </location>

3. 测试,新建aspx页面,显示图片,水印就会自动加上了

以上是“asp.net继承IHttpHandler接口如何实现给网站图片添加水印功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI