我正在尝试制作一些地图制作器,使用老的2D风格的游戏,比如Fantasy 4。基本上他们把所有的东西都设置在一个网格中,网格上的每个方块可能是16x16或32x32像素。
我想从小事做起,先把主要的事情写下来。例如,生成可以是例如128x128的地图。这意味着,我应该能够向程序提供一个表示不同可用瓦片的数字数组,然后程序应该通过将瓦片放置在数组指定的位置来制作新图片(因此,索引0中的一个将被放置在0,0等位置)。
我计划在完成后展示图片,但这应该很容易。
我一直在寻找一个解决方案,我所能找到的就是将图片一个接一个地合并(就像是层叠在一起),而不是并排,所以有人能给我指出正确的方向吗?我希望我不需要依赖第三方库,因为这更多的是一种学习体验,而不是实际应用:)
发布于 2012-10-14 01:50:09
首先,将输出BufferedImage创建为所需的大小。
BufferedImage BufferedImage=新图像(宽度,高度,imageType);
然后,从图像中获取Graphics2D对象,并开始在结果图像中需要的位置绘制较小的图像:
Graphics2D g2 = image.createGraphics();
for (BufferedImage img : images) {
g2.drawImage(img, x, y, null);
}然后,您可以将图像保存为所需的格式: jpg、png或gif。
ImageIO.write(image, "jpg", file);https://stackoverflow.com/questions/12873572
复制相似问题