0

我有这张照片:第一张图片

把它想象成一个 4x4 的瓦片世界,每个瓦片是 32x32 像素。

然后看一下图片: 另一个示例图片:

看看石砖,它的边缘在网格之外。我可以bufferedImage为此使用 a 还是需要做其他事情才能完成这项工作?

如果是这样,你能帮我解释一下吗,因为我不知道如何实现这是我的游戏?

另一个示例图片: 另一个示例图片:

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

4

2 回答 2

2

要完全消除边界伪影,您可以使用Penrose 瓦片

您可以使用anti-aliasing减轻边缘伪影。此示例使用TexturePaint每种颜色的三种不同色调:原始、较深和较浅。您可以尝试更多的色调以获得更好的效果。

图片

于 2012-09-09T17:43:58.107 回答
2

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

////////////已编辑////////////////

如此处所示,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);
于 2012-09-09T14:24:13.127 回答