【发布时间】:2015-10-19 09:32:04
【问题描述】:
在 Lollipop 之前的设备上在我的图像视图上设置灰度时遇到了一些问题。具体来说,在使用此代码将图像视图转换为灰度后设置透明度:
public static void setGrayScale(ImageView view) {
Paint paint = new Paint();
ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
paint.setColorFilter(filter);
view.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
}
在 5.0+ 设备上,图像被转换为灰度,然后应用 alpha 值,从而产生漂亮的图像。
在 5.0 之前的设备(特别是 Nexus 4 和 4.2.2)上,似乎没有遵守 alpha 值,而是出现了更深的灰色。
有谁知道为什么会发生这种行为?这是相同的 setAlpha 值(0.6f)。我尝试了不同的应用灰度的方法,还尝试在之前和之后设置Alpha,但没有效果。
【问题讨论】:
标签: android imageview grayscale colormatrix