Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使BuffereImage与此映像一起工作?(爪哇)_Java_Swing_Awt_Bufferedimage - Fatal编程技术网

Java 如何使BuffereImage与此映像一起工作?(爪哇)

Java 如何使BuffereImage与此映像一起工作?(爪哇),java,swing,awt,bufferedimage,Java,Swing,Awt,Bufferedimage,我有这张照片: 想象一下,这是一个4x4瓷砖世界,其中每个瓷砖为32x32像素 然后看一张图片: 看这块石砖,它的边缘在格子外面。我可以使用bufferedImage进行此操作,还是需要执行其他操作来实现此操作 如果是这样的话,你能帮我解释一下吗?因为我不知道如何做到这是我的游戏 另一个示例图片: 让我更清楚地解释一下。。。第一个图像=网格,第二个图像=与网格重叠的平铺。。。(这就是我想要的,因为它是一个新的平铺,我可以用它来让我的游戏看起来更好!),3d Image=它将如何平铺的一个示例

我有这张照片:

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

然后看一张图片:

看这块石砖,它的边缘在格子外面。我可以使用
bufferedImage
进行此操作,还是需要执行其他操作来实现此操作

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

另一个示例图片:


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

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

///strong>

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

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

///strong>

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

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

您可以使用来减轻边缘伪影。这使用了
TexturePaint
,每种颜色有三种不同的色调:原色、深色和浅色。为了获得更好的效果,可以尝试使用更多的着色


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

您可以使用来减轻边缘伪影。这使用了
TexturePaint
,每种颜色有三种不同的色调:原色、深色和浅色。为了获得更好的效果,可以尝试使用更多的着色


我的意思是,我想将该图像用于多个不同的磁贴。。。我应该如何编码…但是所有的瓷砖都有相同的大小…对吧。。。。。??好的…我给你一个代码来缩放缓冲图像…试试看…天啊,这很难解释。。。看:我希望它越过边缘,创建一个新的瓷砖,这样他们可以更好地瓷砖,减少纹理工作。。。你明白我的意思吗?@好吧。。。。如果它的所有32x32瓷砖具有相同或不同的图像。。。。只需使用PhotoShop或您选择的任何编辑器制作该大小的图像…然后使用它。。。有什么问题吗。。。。。上面的代码是通过编程实现的…现在是你说的…使用哪一个哇。。。让我再解释一遍。。。第一个图像=网格,第二个图像=与网格重叠的平铺。。。(这就是我想要的,因为它是一个新的平铺,我可以用它来让我的游戏看起来更好!),3d Image=它将如何平铺的一个示例!我的意思是,我想把这个图像用于多个不同的瓷砖。。。我应该如何编码…但是所有的瓷砖都有相同的大小…对吧。。。。。??好的…我给你一个代码来缩放缓冲图像…试试看…天啊,这很难解释。。。看:我希望它越过边缘,创建一个新的瓷砖,这样他们可以更好地瓷砖,减少纹理工作。。。你明白我的意思吗?@好吧。。。。如果它的所有32x32瓷砖具有相同或不同的图像。。。。只需使用PhotoShop或您选择的任何编辑器制作该大小的图像…然后使用它。。。有什么问题吗。。。。。上面的代码是通过编程实现的…现在是你说的…使用哪一个哇。。。让我再解释一遍。。。第一个图像=网格,第二个图像=与网格重叠的平铺。。。(这就是我想要的,因为它是一个新的平铺,我可以用它来让我的游戏看起来更好!),3d Image=它将如何平铺的一个示例!