当您在网站上展示图片时,水印或实施的徽标很烦人,但我也担心在没有许可的情况下使用图片。
你们中的许多人可能都知道9gg在2016年使用这个版本,当你从网站上保存图片时,它会在保存的图片中添加9gag徽标。
老实说,我无法想出任何方法来实现它。
我正在使用我的自定义ASP.Net MVC 5 CMS,但任何前端解决方案都将受到高度赞赏。
修改
根据W3,我们可以通过JavaScript在画布中重新创建图像:
window.onload = function() {
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);
};
由于我正在重绘图像,理论上应该有一种合并两个图像的方法。无论如何拦截过程并添加徽标或水印?
答案 0 :(得分:1)
简短版本:不要认为没有黑客攻击是可能的。如果您想在右下角有水印,请复制每个图像的底部几个像素,将水印放在完整图像上,然后将原始角落悬停在其上。
长版: 您无法拦截浏览器的“右键单击>保存图像为”功能。你可以做的是一种黑客,其中底层图像有水印,但你用图像的旧副本覆盖水印。如果您想将网站的名称放在图像的右下角,则复制图像的那一小块,然后将水印放在那里。现在在你的应用程序中将两个图像包裹在一个具有相对定位的div中。使div成为原始图像的大小,使用绝对定位和上/下:0px,然后将角放在顶部并做到底部/右边:0px。然后,如果他们右键点击右下角的任何地方并保存,他们将获得下面的图像,其中有水印。