[英]How to make a Image in Java?
我正在用Java開發Survial游戲,並且正在研究地圖生成。 我正在尋找一種制作地圖圖像的方法。 我有一個所有塊的ArrayList,並希望這樣做,如果該塊在地圖上位於0,0的情況下(例如草),我可以將此圖像上位於0,0的像素設置為綠色,依此類推對於其他塊。
編輯----當人們說不清楚我想問什么時,這就是我在談論的那種形象:
深綠色是草,淺綠色是樹木,黃色是沙子,藍色是水。
private static void write(int id) {
try {
BufferedImage bi = ImageIO.read(new URL("http://xyz.com/abc.png"));
BufferedImage bi2 = resizeImage(bi, bi.getType());
Graphics g = bi2.getGraphics();
g.drawString("Hello", 20, 20);
ImageIO.write(bi2, "png", new File("out"+id+".png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static BufferedImage resizeImage(BufferedImage originalImage, int type){
BufferedImage resizedImage = new BufferedImage(400, 400, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 50, 50, 248, 248, null);
g.dispose();
return resizedImage;
}
上面是我使用過的快照示例。 它只是一個原型,因此需要改進。 基本上,您可以在內存中構建緩沖的圖像,然后寫入文件或將該圖像放入jlabel等其他組件中。
獲得圖形參考后,您幾乎可以將其用作“畫布”。
如果您想使用一些漂亮的東西,請嘗試libgdx( http://code.google.com/p/libgdx/ )。 它對創建漂亮的東西有很好的支持,還支持一些流行的地圖編輯器。 我目前正在與來自大學的其他人一起使用更復雜的紙板,我們決定這樣做,並反對使用Java繪圖API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.