2018-06-02  523 views 评论

ASP.NET MVC 上传图片中添加水印的方法

 标签:      

前几天介绍了几种图片的存储方式,相信大家已经对ASP.NET MVC中使用Layui上传图片到本地服务器或云服务提供商提供的存储产品。

今天就来介绍下ASP.NET MC在上传图片过程中如何添加水印

虽然水印加了很依然会被很多人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();
}

 

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: