图片加水印可以预防别人盗图,对自身图片有保护作用。经过授权使用图片的商家,使用了加水印的图片后有利于推广原商家的知名度。因此为图片添加水印就显得十分的重要。
1.创建一个网站,准备图片资源。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Golden.aspx.cs" Inherits="_2021_06_02.Golden" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style>
.IU {
width:625px;
height:500px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<img src="images/IU.jpg" class="IU"/>
</div>
</form>
</body>
</html>
2.在网站中添加HttpHandler类,继承IHttpHandler接口,编写加水印的功能。
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
namespace _2021_06_02
{
public class MyHandler : IHttpHandler
{
public bool IsReusable => false;
public void ProcessRequest(HttpContext context)
{
String filename = context.Request.PhysicalPath;
Bitmap bitmap = new Bitmap(filename);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.DrawString("IU 李知恩", new Font("微软雅黑", 200, FontStyle.Bold), Brushes.LightPink, new Point(0, 0));
graphics.Flush();
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
3.在Web.config中配置实现当请求图片资源时由HttpHandler类处理
在<configuration>中编写
<system.webServer>
<handlers>
<add verb="*" path="images/*" type="_2021_06_02.MyHandler" name="IU" />
</handlers>
</system.webServer>
原图:
添加水印展示的效果: