虽然水印加了很依然会被很多人PS掉,任然存在盗图现象,但是如果都不加水印,那么更加方便了盗图者,所以添加图片水印还是有必要的。
其实在图片上传成功前就能对图片进行重新绘制实现,此处考虑到需要保存无水印图片,本文就讲解如何在上传成功图片后新增水印。
代码如下:
//添加水印
//上传成功的历史图片
using (Image sourceImg = Image.FromFile(Server.MapPath(virtualPath + dir + "/" + tempName)))
//水印图标地址
using (Image waterMarkImg = Image.FromFile(Server.MapPath("/Content/Images/Common/logo_watermark.png")))
//加载旧的图片并重新绘制
using (Graphics g = Graphics.FromImage(sourceImg))
{
//计算图片添加水印的位置 此处各减少10像素
var pointX = (sourceImg.Width - sourceImg.Width) - 10;
var pointY = (sourceImg.Height - sourceImg.Height) - 10;
g.DrawImage(waterMarkImg, new Rectangle(pointX, pointY, waterMarkImg.Width, waterMarkImg.Height));
tempName=tempName.Substring(0, 6) + "_WithWaterMark"+extname;
sourceImg.Clone();
}