繁体   English   中英

如何使BufferedImage处理此图像? (Java)的

[英]How to make a BufferedImage work with this image? (java)

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

想象一下这是一个4x4的瓷砖世界,其中每个瓷砖都是32x32像素。

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

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

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

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

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

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

///////////// EDITED //////////////////

如图所示这里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);

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

您可以使用抗锯齿来减轻边缘伪影。 示例使用TexturePaint ,每种颜色具有三种不同的阴影:原始,较深和较浅。 您可以尝试使用更多的阴影以获得更好的效果。

图片

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM