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