2012-09-09 20 views
0

我有這張圖片:The FIrst Picture如何使BufferedImage使用此映像? (java)

想象一下這是一個4x4的瓦片世界,其中的瓦片每個都是32x32像素。

然後看看圖片: another example picture:

看的石磚,它具有邊緣,即電網之外。我可以使用bufferedImage嗎?或者我需要做些其他的事情來完成這項工作嗎?

如果是這樣,你可以幫我解釋一下嗎?因爲我不知道如何做到這一點是我的遊戲?

另一個例子圖片: another example picture:

讓我更清楚地解釋它... 1圖像=電網,第二次圖像=平鋪重疊網...(我是這麼希望有,因爲那是一個新的我可以使用它來使我的遊戲看起來更好!),3d圖像=它將如何平鋪的例子!

回答

2

只需使用PhotoShop編輯圖像,以32×32像素大小....然後在你的遊戲中使用它....

///////////// 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); 
+0

我的意思,我想用這種形象的多個不同瓷磚......我怎麼編寫一個... –

+0

但所有的瓷磚也會有同樣size..right .....?罰款...我給你一個縮放緩衝圖像的代碼..它.. –

+0

哦,上帝,這很難解釋...看起來:我希望它通過邊緣創建一個新的瓷磚,這樣他們會更好,更少紋理工作...你明白我的意思了嗎? –

2

要完全消除邊界僞影,可以使用Penrose tiles

您可以使用anti-aliasing減輕邊緣僞影。這example使用TexturePaint與各種顏色的三個變體的陰影:原始,更暗和更輕。您可以嘗試更大數量的陰影以獲得更好的效果。

image

相關問題