0

我想将一些图像加载到云端,但我想在有人查看照片并保存图像时添加一些保护;由于透明度,他们将看不到任何东西。

代码对于 Java 和 Android 是否通用?我想先用 Java 做原型。

我发现了一些组合两个文件的代码。一个文件是我的主文件,另一个是透明文件。组合文件没有透明覆盖。

我需要使用图像绘制订单吗? http://www.developer.nokia.com/document/Java_Developers_Library_v2/GUID-D3E35E6F-0C45-48ED-B09D-F716E14C1C02/javax/microedition/amms/control/imageeffect/OverlayControl.html

    BufferedImage image = ImageIO.read(new File("rose.jpg"));
    BufferedImage overlay = ImageIO.read(new File("myimg1.gif"));


    // create the new image, canvas size is the max. of both image sizes
    int w = Math.max(image.getWidth(), overlay.getWidth());
    int h = Math.max(image.getHeight(), overlay.getHeight());
    BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);

    // paint both images, preserving the alpha channels
    Graphics g = combined.getGraphics();
    g.drawImage(image, 0, 0, null);
    g.drawImage(overlay, 0, 0, null);

    // Save as new image
    ImageIO.write(combined, "PNG", new File("combined.png"));
4

2 回答 2

1

这行不通。如果他们可以看到图像,他们可以以一种或另一种方式复制它。一个需要考虑的解决方案是免费提供带水印的缩略图,然后只提供全分辨率图像并收费。但是,一旦付款,他们仍然可以复制全分辨率图像。

于 2012-05-18T22:10:53.437 回答
0

您实际上可以将跨图像作为原始图像的叠加层,以防止下载,我认为这通常是由服务器端完成的,也就是您的云我从一些网站知道他们使用某种叠加层,例如您的并且浏览器看不到下图所以不能下载。

我实际上不明白你是如何实现这一点的——图像是在浏览器中打开的?

虽然只是一个狂野,你也可以像拼图一样将图像切割成碎片设备将它连接在一起不会有问题,但是当你下载时,你将只下载“一块拼图”:-P

于 2012-05-18T23:54:17.837 回答