有什么办法可以将位图转换为棕褐色?
我知道要转换为grayScale是在ColorMatrix中设置setSaturation。
但是棕褐色呢?
最佳答案
如果您有图像实例,则可以使用ColorMartix在棕褐色中进行绘制。让我描述一下如何使用Drawable做到这一点。
public static void setSepiaColorFilter(Drawable drawable) {
if (drawable == null)
return;
final ColorMatrix matrixA = new ColorMatrix();
// making image B&W
matrixA.setSaturation(0);
final ColorMatrix matrixB = new ColorMatrix();
// applying scales for RGB color values
matrixB.setScale(1f, .95f, .82f, 1.0f);
matrixA.setConcat(matrixB, matrixA);
final ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrixA);
drawable.setColorFilter(filter);
}
样本项目已从Bitbucket移到GitHub。请检查Release section以下载APK二进制文件进行测试,而不进行编译。