2012-10-13 96 views
1

我正在嘗試製作某種地圖製作工具,使用最終幻想4等舊的2D風格遊戲。基本上,他們將所有設置在網格上的每個廣場都可能採用了16x16或32x32像素。按順序合併圖片

我想從小處着手,先把主要事情弄清楚。比如生成可能是128x128的地圖。這意味着,我應該能夠向程序提供一個表示可用的不同圖塊的數字數組,然後程序應該通過按照數組指定放置圖塊來創建新圖片(因此,索引0中的一個將放置在0,0等)。

我打算在完成時顯示圖片,但應該很容易。

我一直在尋找一個解決方案,我能找到的所有東西都是在彼此頂部合併圖片(如在彼此之上的圖層),而不是並排,所以任何一個點都可以指向我正確的方向?我喜歡它,如果我不必依靠第三方庫,因爲這是比實際應用更多的學習體驗:)

+0

*「我一直在尋找解決方案..」* ..什麼問題?你卡在哪裏? –

+0

我被卡在放置圖片相鄰的一部分,在最後一張照片。我似乎只能找到想要合併像Photoshop這樣的圖片的人。例如,產品的圖片,然後是透明的地圖,給它一個很好的光芒。我找不到任何相關的內容,只是在一個序列中將多個圖片相鄰放置。 – OmniOwl

回答

1

首先,創建輸出BufferedImage爲您需要的大小。 BufferedImage image = new BufferedImage(width,height,imageType);}}

然後,獲得從圖像中Graphics2D對象,並開始在他們需要得到的圖像中的地方繪製較小的圖像:

Graphics2D g2 = image.createGraphics(); 
for (BufferedImage img : images) { 
    g2.drawImage(img, x, y, null); 
} 

然後,您可以將圖像保存到所需的格式: jpg,png或gif。

ImageIO.write(image, "jpg", file); 
+0

但我認爲這只是將圖片放在彼此的頂部,而不是按順序排列? – OmniOwl

+1

如果對圖像使用x和y的良好值,例如x + imageWidth和y + imageHeight在另一個圖像x和y上不重疊,則它們不會重疊。 –

+0

哦。那麼那就是我正在尋找的東西!非常感謝! – OmniOwl