2012-05-18 29 views
0

我想將一些圖像加載到雲中,但是當有人查看照片並保存圖像時,我想添加一些保護措施;由於透明度,他們不會看到任何東西。是否可以在Java和Android中爲jpg添加透明度

該代碼對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")); 
+0

添加代碼來合併兩張照片,但是,是否有人知道如何將透明圖像放在主圖像上。我有什麼不起作用。我希望當用戶在網絡上看到照片,然後試圖做一個「另存爲」他們保存的圖像將是透明的,圖像對他們來說是無用的。這將主要針對Android應用程序。我可以禁用瀏覽器中的保存和複製功能是另一個想法嗎? – user1024882

回答

1

這是行不通的。如果他們能看到圖像,他們可以以這種或那種方式複製它。要考慮的解決方案是免費提供帶水印的縮略圖,然後僅收取全分辨率圖像。但是,他們一旦付款就可以複製全分辨率圖像。

+0

我不能阻止一個人在桌面上拍攝屏幕截圖,但在Android上我想阻止用戶將其保存到SD卡。有一個人告訴我,如果我做了一個清楚的丹麥覆蓋,當他們保存它;它沒有顯示任何東西。這可能嗎。 – user1024882

+0

更好的解釋是在主圖像前放置一個透明圖像。任何保存圖像的人都將保存透明圖像,而不是後臺圖像。當圖像下載時,我將保護到位,鏈接將被刪除。所以用戶不能回去嘗試拍攝圖像。 – user1024882

+0

@ user1024882,還有很多方法可以解決這個問題,包括在模擬器中運行應用程序。 –

0

實際上你可以放一個反式圖像疊加到orginial圖像,這將 從下載保護,我認爲這通常是由服務器端完成又名你的雲 我從一些網站,他們使用某種知道如您的覆蓋層 而瀏覽器無法看到下面的圖像,因此您無法下載。

我其實不明白你是如何實現這個的 - 在瀏覽器中打開圖像?

只是胡亂不過,你也可以削減圖像到像拼圖 設備將不會有問題togther連接它的一部分,但是當你下載你會 下載只有「一塊拼圖」: -P

相關問題