2013-04-29 88 views
0

我一直在尋找最近幾天的解決方案。將圖像添加到其他圖像的頂部

我看到一個example of composite imagesJava高級成像。但是這似乎受到任何一個圖像文件的最小寬度和高度的限制。因此它會輸出一個帶有頭文件高度和寬度的文件。

最好是,我希望頭部不能覆蓋身體圖像的任何部分。但這不是要求。有時候身體圖像的寬度比標題小,這很好,因爲標題文件的主要內容將在中間。

使用JDK 1.6.0_41,我需要前兩個圖像:

header_image

Body image

而且有結果是:

Final result

無論是使用Java還是Javscript都是fin即整個過程如下:

我使用OpenLayers獲取地圖的畫布對象,然後使用POST將它發送到Java Servlet進行處理和存儲。然後,如果用戶需要,然後檢索圖像。

長長的藍色標題需要位於圖像的頂部或正上方。標題圖像將具有創建它的用戶的內容等。那我可以做。但操縱多個圖像並不是我所熟悉的。

回答

2

在Java中,你可以這樣做:

public BufferedImage prependImage(BufferedImage image1, BufferedImage image2) { 
    Dimension d1 = new Dimension(image1.getWidth(null), 
      image1.getHeight(null)); 
    Dimension d2 = new Dimension(image2.getWidth(null), 
      image2.getHeight(null)); 
    Dimension dt = new Dimension(d1.width, d1.height + d2.height); 

    BufferedImage image = new BufferedImage(dt.width, dt.height, 
      BufferedImage.TYPE_INT_ARGB); 
    Graphics g = image.getGraphics(); 

    int x = 0; 
    int y = 0; 
    g.drawImage(image1, x, y, d1.width, d1.height, null); 
    y += d1.height; 
    g.drawImage(image2, x, y, d2.width, d2.height, null); 
    g.dispose(); 

    return image; 
} 
+0

看起來不錯,謝謝!初步測試看起來很棒。我可能不得不切換到另一種格式,而不是Tiffs,因爲直到我切換到PNG文件時它才工作。要轉換文件並再試一次,但看起來很完美。謝謝! – Aggieborn 2013-04-29 20:29:12

+0

用轉換後的文件進行測試。它效果很好。吉爾伯特,非常感謝! – Aggieborn 2013-04-29 21:12:14