禁用从画布下载图像

时间:2011-08-29 12:42:59

标签: image canvas

我添加了图像到canvas元素,但访问者可以将该图像保存到本地comp。 有没有办法禁用该选项?我不知道,把一些透明图像放在哪里?

THX

4 个答案:

答案 0 :(得分:4)

这些(甚至不是图像切片)都不会阻止用户简单地将屏幕复制到剪贴板并将其粘贴到MSpaint或任何其他图像实用程序中,并保存结果。它无足轻重;透明度图像不会妨碍这一点。

我所知道的唯一有效选项(如前所述),水印或低质量。 *避免使用Photoshop滤镜轻松移除1像素宽的线条或点水印。

〜如果它的商业广告...你可以有一个支付墙,并且隐形地将购买者的名字和/或信息嵌入到图像(或预览)中,这样如果它在未经许可的情况下被使用,至少你知道谁做到了。

答案 1 :(得分:3)

所以我认为这可以帮助你禁用右击:

    $('#canvas').bind("contextmenu",function(e){
        return false;
    });

答案 2 :(得分:0)

基本上:如果您的图像由浏览器加载,您永远无法保护用户下载它,因为如果浏览器知道在哪里找到图像,用户也可以找到它。因此,所有这些下载保护仅适用于不熟悉计算机和互联网的用户,而现在我认为大多数人都可以下载这样的图像,如果他们真的想要的话。

如果您想阻止用户将图像用于他们的工作,您可以使用带有水印或较低分辨率的图像,否则您可以告诉您有什么理由阻止用户下载?

答案 3 :(得分:0)

我在审查我正在开发的HTML5验证码时发现了这个问题。我的目标不是“阻止”用户下载图像,就像在图像捕获上阻止OCR一样。为了防止它,我向canvas对象添加了一个onclick事件,该事件在click时重置了canvas元素。用户可以“下载”它,但它不再是原始代码。