2013-02-13 81 views
2

我搜索了很多,但没有找到足够的答案。加载完成后剪切图像

我需要在我的一个页面中放置图像(900 X 5200 px)。由于图像很敏感,我需要防止用户复制图像。我有一个想法可以做到这一点:

我会将图像分成小块。然后图像网格将被加载到一些div。所以用户将无法保存图像。或者他/她将只保存整幅图像的1平方厘米部分。

但是,如果网格的一些小部分无法加载,则此计划将不起作用。所以,我想做另一件事。我想加载完整的图像,然后将图像剪切成部分。然后用div格式显示这些部分。

这需要JavaScript。但我很困惑如何开始,需要你的帮助。

现在你知道这件事,如果你有更好的想法,请分享。

在此先感谢。

+4

你不能阻止用户复制你的数据。截图的情况如何,你可以将它剪成100个,但是一个截图就是它的复制。水印+版权声明应该足够了。 – 2013-02-13 15:37:34

+0

该图像是以某种形式动态上传的,还是您自己设置为静态的? – Develoger 2013-02-13 15:39:37

+0

@ John - 你是对的。但是,如果有人保存这个问题,图像是一个问题文件,水印不是问题。问题包含方程式,unicode字体,这就是为什么我创建图像。 – 2013-02-13 15:45:03

回答

3

诀窍很简单。创建一个背景为您想要显示的图像的div。使用透明图像覆盖它。当用户去保存图像时,它们会变为空白。编程您的服务器不要返回图像的“直接”请求(所以一些聪明的小伙子不能只看css和检索图像的URL)。

授予图像仍然会在他们的缓存中,但切片图像也是如此,因此它不会让不确定的人更难以检索图像。

+0

我正在写相当相同的答案...太慢...:P – Frhay 2013-02-13 15:41:16

+0

不是真的,单击视图源或检查元素,你仍然可以复制它。它只会让那些不太了解计算机的用户望而却步。 – 2013-02-13 15:41:26

+0

这是创造性思维的好例子,但我会用分段的方式去... – Develoger 2013-02-13 15:42:12

1

TL; DR不要过度设计解决方案,打印屏幕将解决您的任何问题。

您无法防止人们复制此图像。干净利落。无论您的最佳努力如何,简单的PRT SCRN并粘贴到油漆就足够了。

最好的办法是不要过度设计这个,只需在页面上放置水印和版权声明。其他选项可以包括在图像顶部放置透明的<div>,这样它不能被右键单击并保存,但它仍然不会阻止图像存储在用户的缓存中。或者停止使用开发人员工具或Firebug来查找源图像。

0

你可以这样做: http://www.pixastic.com/lib/docs/actions/crop/

然而,你需要开发整天泡在图书馆你的逻辑。

我已经做例子,你可以看到它这个链接: http://simplestudio.rs/yard/crop_img/

基本上你可以通过PHP得到URL到您的图像,并使用我的代码或类似于它的代码裁剪图像成块,并显示它们在画布上。

这种方式的图像不能通过浏览器或检查元素访问或以往任何时候。用户可以单独保存图片,但您可以将我的代码配置为5像素,我将其设置为20x20像素。

*测试通过在图像上的任意位置点击右键来保存图像片段并执行“保存图像为..”选项。

此外,您需要考虑如何将src隐藏到由php提供的图像上,如果您需要帮助,我可以帮助您。

相关问题