从spritesheet子图像时,BufferedImage不显示透明度

时间:2014-12-01 08:33:55

标签: java graphics

解决了问题:无论我多少次删除像素并在照片编辑器中将其设置为透明,我都切换到绘制.NET并且它有效! :)

http://prntscr.com/5bontg

这是我的spritesheet,它是透明的。我已经用我的SpriteSheet类加载了它:

package com.pokemoniridium.Framework;

import java.awt.image.BufferedImage;

public class SpriteSheet {
    public BufferedImage spriteSheet;

    public SpriteSheet(BufferedImage spriteSheet){
        this.spriteSheet = spriteSheet;
    }

    public BufferedImage grabSprite(int x, int y, int width, int height){
        BufferedImage sprite = spriteSheet.getSubimage(x, y, width, height);
        return sprite;
    }
}

将其加载到:

SpriteSheet spriteSheet = SpriteSheet(loader.loadImage("/assets/Gold_Walking.png")); 

然后我将它加载到一个数组中,如下所示:

sprites[0] = this.spriteSheet.grabSprite(0, 0, 50, 50); 

然后我渲染它:

g.drawImage(sprites[0], x, y, null);

顺便说一句,loader变量是我的BufferedImageLoader类的一个实例: http://pastebin.com/SB0P8aav

问题仍然存在,很奇怪。任何想法的家伙?

当我使用该方法抓取图像时,它会返回图像但没有透明度。我使用过PNG和GIF吗?

无论如何,我可以抓取图像并获得图像的透明度吗?

0 个答案:

没有答案