Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 surfaceview中的透明位图_Java_Android_Bitmap - Fatal编程技术网

Java surfaceview中的透明位图

Java surfaceview中的透明位图,java,android,bitmap,Java,Android,Bitmap,我有一个没有背景的位图,但当我试图在surfaceview上绘制它时,它会给它黑色,有没有办法修复它 编辑: 以下是我使用的代码: this.Sprite=BitmapFactory.decodeResource(getResources(), R.drawable.sprites); this.Sprite=Bitmap.createScaledBitmap(Sprite, Sprite.getWidth()*2, Sprite.getHeight()*2, false); Sprite=ch

我有一个没有背景的位图,但当我试图在surfaceview上绘制它时,它会给它黑色,有没有办法修复它

编辑: 以下是我使用的代码:

this.Sprite=BitmapFactory.decodeResource(getResources(), R.drawable.sprites);
this.Sprite=Bitmap.createScaledBitmap(Sprite, Sprite.getWidth()*2, Sprite.getHeight()*2, false);
Sprite=changeImageColor(Sprite);
我加载了一个有背景的精灵图片,然后我以0,0的颜色移除第一个像素的背景

public Bitmap changeImageColor(Bitmap srcBmp) {

int width = srcBmp.getWidth();
int height = srcBmp.getHeight();
int color=srcBmp.getPixel(0, 0);
for (int row = 0; row < height; row++) {
    for (int col = 0; col < width; col++) {
        int pixel = srcBmp.getPixel(col, row);
        if(pixel==color){
            srcBmp.setPixel(col, row, Color.TRANSPARENT);
        }
    }
}

return srcBmp;}

我在改变了它的尺寸和切割后就这样画了。

你能发一些代码吗?基本上显示如何加载位图。我怀疑它有什么问题。谢谢。你能试着改变一下颜色吗。背景颜色是透明的吗?我不确定将颜色设置为透明是否意味着它将显示您的背景色。但它可能会显示surfaceview默认背景,可能是黑色的;检查
        c.drawBitmap(src, Position.x,Position.y, null);