如何制作不绘制图像透明部分的 ImageView?
How can I make an ImageView that doesn't draw the transparent parts of the image?
我需要我的自定义 ImageView(称为 ItemAnimationView
)不绘制其图像的任何透明部分。
我将这个 class 用于很多实例和很多不同的图像,所以如果我只能使用我可以调用的方法来解决这个问题是最好的 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};
我需要我的自定义 ImageView(称为 ItemAnimationView
)不绘制其图像的任何透明部分。
我将这个 class 用于很多实例和很多不同的图像,所以如果我只能使用我可以调用的方法来解决这个问题是最好的 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};