2012-07-20 99 views
0

我需要能够从网格上的一个大图像中获取某些图像。有点像在游戏“我的世界”中,有纹理包可以重新设定游戏的外观。为了保持文件的大小,这并不是所有的实际图片。它是一张图片上所有不同块纹理的网格。如何从java中的图像网格获取一个图像?

我需要做一些类似的,但使用这样的画面:http://f.cl.ly/items/122C0G3R3P422R2I452o/fontes_blanches_alpha.png

具体来说,我希望能够从一个ArrayList有点像调用从这张照片的每个字符:

(伪代码)

ArrayList<Pictures> chars = new ArrayList<Pictures>(); 

    JFrame.add(chars.get(x)); 

那么,我将如何分开的图片只显示其中的一部分?

+0

你的问题是什么? – user1329572 2012-07-20 19:53:59

+0

如何分离图片以仅显示图片的一部分? – jackcogdill 2012-07-20 20:01:37

+0

你不是在寻找纹理图集? http://en.wikipedia.org/wiki/Texture_atlas,只是保持它们相同的大小和包含每个纹理的坐标的文件。 – GriffinHeart 2012-07-20 20:32:15

回答

1

您可以尝试将字体图像加载到BufferedImage对象中。然后你可以说bufferedImage.getSubimage(x,y,w,h)得到BufferedImage类型的子图像。当你有一个subImage时,你可以将它添加到你的“chars”ArrayList中。

+0

谢谢,我会试试 – jackcogdill 2012-07-20 20:10:01

+0

请注意,在命名'getSubimage()'方法时,Sun并不坚持自己推荐的命名法。 :( – 2012-07-21 01:15:46

+0

哎呀,谢谢,对不起。 – lukey 2012-07-21 07:03:31