簡體   English   中英

如何用Java制作圖像?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM