gpt4 book ai didi

java - 如何用Java制作图像?

转载 作者:行者123 更新时间:2023-12-01 15:38:00 26 4
gpt4 key购买 nike

我正在用java开发一款生存游戏,并且正在开发 map 生成。我正在寻找一种制作 map 图像的方法。我有一个包含所有 block 的 ArrayList,并且希望将其设置为如果 map 上 0,0 处的 block (例如草),我可以将该图像上 0,0 处的像素设置为绿色,依此类推对于其他 block 。

编辑----正如人们所说,不清楚我想问什么,这就是我正在谈论的那种图像:

enter image description here

深绿色是草,浅绿色是树,黄色是沙子,蓝色是水。

最佳答案

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;
}

上面是我使用过的示例快照。它只是一个原型(prototype),因此需要完善。基本上,您可以在内存中构建缓冲图像并写入文件或将该图像放入另一个组件(例如 jlabel)中。

一旦您有了图形引用,您几乎可以将其用作 Canvas 。

关于java - 如何用Java制作图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com