我需要我的自定义ImageView(称为ItemAnimationView
)不绘制其透明图像的任何部分。
我将这个类用于很多实例和许多不同的图像,所以最好只用我可以在ImageView
上调用的方法来解决这个问题,因为手动编辑所有不同的图像是行不通的。
那么是否有某种ColorFilter
不仅可以过滤掉某种颜色,而且可以过滤掉任何程度上透明的每个像素?
如果有一种方法可以在不访问实际位图的情况下执行此操作也很方便,因为到目前为止我用于视图的唯一代码行是
setImageResource(item.getResourceID());
和一些动画,所以我没有相关的Bitmap
对象。
我用这个矩阵使用ColorMatrixColorFilter
达到了预期的效果:
{1f,0f,0f,0f,0f,
0f,1f,0f,0f,0f,
0f,0f,1f,0f,0f,
0f,0f,0f,256f,-256*254};