Android 擦除位图上的颜色使所有内容变为黑色
我有一个应用程序,其中imageView上有许多层。因此,对于其中一个特定事件,我试图将最上层移除Android 擦除位图上的颜色使所有内容变为黑色,android,bitmap,android-imageview,android-image,Android,Bitmap,Android Imageview,Android Image,我有一个应用程序,其中imageView上有许多层。因此,对于其中一个特定事件,我试图将最上层移除 我试图使用bitmap.eraseColor(Color.TRANSPARENT),但这导致整个位图变黑。我需要执行上述操作,以便下面的层是可见的。有什么方法可以使最上面的层完全透明,或者使用一些绘画和路径进行擦除(我尝试使用带清除模式的绘画,但它也在绘制黑线,而不是擦除顶层)。如果您只是想使其透明,而不是从堆栈中移除使用 ((View)yourBitmap).setVisibility(View
我试图使用
bitmap.eraseColor(Color.TRANSPARENT)
,但这导致整个位图变黑。我需要执行上述操作,以便下面的层是可见的。有什么方法可以使最上面的层完全透明,或者使用一些绘画和路径进行擦除(我尝试使用带清除模式的绘画,但它也在绘制黑线,而不是擦除顶层)。如果您只是想使其透明,而不是从堆栈中移除使用
((View)yourBitmap).setVisibility(View.INVISIBLE);
如果你想完全移除它,那么使用
((View)yourBitmap).setVisibility(View.GONE)
如果您不再使用该位图,我建议使用后者,因为它将从堆栈中删除位图,您的渲染中不会有额外的
位图绘图,它也会提高性能。我更感兴趣的是,当我试图使层上的特定像素而不是整个视图透明时,它也会产生另一个问题,因此我想知道为什么橡皮擦颜色无法工作。但是您的问题提到了您想要的要知道“有没有办法让最上面的一层完全透明”ImageView
是否设置在黑色背景上<代码>位图。擦除颜色(int)用指定的颜色填充位图的像素
。因此,基本上,使ImageView透明(当使用Color.TRANSPARENT时)。也许,您应该查看Bitmap.setPixels(int[],int,int,int,int,int,int)
。