如何在Android中将背景图像转换为灰度?

时间:2018-08-06 19:14:21

标签: android

当我怀疑是否可以对彩色“背景图像”(即使用android:background=""设置的图像)进行灰度处理时,我正在尝试Android : Converting color image to grayscale和其他类似的答案。可能吗?如果是,怎么办? 即使经过数小时的广泛谷歌搜索,我仍未找到答案。

编辑:我找到了解决该问题的方法,但是并不能完全解决问题。我用过

android:backgroundTint="#999999"
android:backgroundTintMode="multiply"

连同我的代码来设置背景图像。

1 个答案:

答案 0 :(得分:2)

在布局中使用ImageView而不是尝试将背景设置为可绘制对象,然后使用此代码以编程方式将图像着色为灰度。

final ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
final ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
mImageView.setColorFilter(filter);

如果您需要使用ImageView而不是背景的帮助,请发布该场景的布局xml和Java代码。