我想加载一些图像到云端,但我想在有人查看照片和保存图像时添加一些保护;由于透明度,他们不会看到任何东西。
该代码对于 Java 和 Android 来说通用吗?我想先用 Java 制作它的原型(prototype)。
我找到了一些组合两个文件的代码。一个文件是我的主文件,另一个是透明文件。组合文件没有透明覆盖。
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"));
最佳答案
这行不通。如果他们可以看到图像,他们就可以以某种方式复制它。可以考虑的解决方案是免费提供带水印的缩略图,然后仅提供收费的全分辨率图像。不过,一旦付费,他们仍然可以复制全分辨率图像。
关于java - 是否可以在Java和Android中为jpg添加透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660308/