有没有办法将Bitmap转换成棕褐色?
我知道转换为grayScale是在ColorMatrix中设置setSaturation.
但是如何呢?
我知道转换为grayScale是在ColorMatrix中设置setSaturation.
但是如何呢?
解决方法
如果您有图像实例,则可以使用ColorMartix将其绘制在Sepia中.让我描述如何使用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二进制文件进行测试,无需编译.