如何使BufferedImage与此图像一起使用? (Java)的

时间:2012-09-09 14:22:42

标签: java swing awt bufferedimage

我有这张照片:The FIrst Picture

想象一下这是一个4x4瓦片世界,其中每个瓦片的宽度为32x32像素。

然后看一下图片: another example picture:

看石砖,它的边缘在网格外面。我可以使用bufferedImage或我是否需要做其他事情才能使其发挥作用?

如果是这样,你可以通过解释来帮助我吗,因为我不知道如何实现这个是我的游戏?

另一张示例图片: another example picture:

让我更清楚地解释一下......第一张图片=网格,第二张图片=平铺重叠网格......(这就是我想拥有的东西,因为它是一块新的瓷砖,我可以用来让我的游戏看起来更好看!),3d Image =它如何平铺的一个例子!

2 个答案:

答案 0 :(得分:2)

只需使用PhotoShop将图像编辑为32x32像素大小....然后在游戏中使用它....

<强> ///////////// EDITED //////////////////

如图here所示,AffineTransformOp提供了选择插值类型的额外灵活性。

BufferedImage before = getBufferedImage(encoded);
int w = before.getWidth();
int h = before.getHeight();
BufferedImage after = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
AffineTransform at = new AffineTransform();
at.scale(2.0, 2.0);
AffineTransformOp scaleOp = 
   new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
after = scaleOp.filter(before, after);

答案 1 :(得分:2)

要完全消除边界伪影,可以使用Penrose tiles

您可以使用anti-aliasing缓解边缘工件。此example使用TexturePaint,每种颜色有三种不同的色调:原始,深色和浅色。您可以尝试使用更多色调以获得更好的效果。

image