从更大的图像创建图像

时间:2011-02-24 08:34:51

标签: java image-manipulation

对于我正在制作的游戏,我将地图中的所有精灵存储在一个大(呃)图像中。我希望能够为包含所有精灵的较大图像内的每个图像创建一个Image的实例。

那么如何从另一个Image的设定位置创建Image的实例。

2 个答案:

答案 0 :(得分:1)

因为你正在使用java.awt.Image-class我猜你正试图用AWT创建一个合理的游戏?你真的应该看一下像http://en.wikipedia.org/wiki/Java_OpenGL这样的不同技术。您遇到的问题(对精灵表进行分区)是很多其他问题(轮换......)的典型问题,如果您尝试开发没有类似 Open-GL的游戏,您将遇到这种问题

只考虑手头的问题:你可以通过将整个精灵表格绑定为纹理(glBindTexture())并为每个glVertex()赋予glTexCoord2f()来轻松解决这个问题,无需剪切精灵表的部分内容。

答案 1 :(得分:1)

基本解决方案(如果tileheet中的所有切片具有相同的大小)是使用类getSubimage(xpos, ypos, XSIZE, YSIZE)中的BufferedImage方法。

否则,您必须在另一个文件中存储所有精灵的一组位置和大小。

您的问题类似于this其他人的问题。