我有一些白色背景的图像,里面有一些文字和徽标。我只想为文本和徽标设置过滤器,但不为白色背景设置过滤器。
我尝试设置过滤器,但它只是改变了整个图像的颜色。 我想要在过滤器中的逻辑是这样的
if(color == white){
//do nothing
} else {
//turn gray
}
有办法做到这一点吗?
刚刚找到我的问题的答案。
假设您有图像名称位图的位图
val width = bitmap.width
val height = bitmap.height
val pixels = IntArray(width*height)
bitmap.getPixels(pixels, 0, width, 0, 0, width, height)
for (i in pixels.indices) {
val red = Color.red(pixels[i])
val green = Color.green(pixels[i])
val blue = Color.blue(pixels[i])
if( /* check if pixel rgb meets your condiion*/ ){
//Change your rbg value here. In this example increase rgb by 1
pixels[i] = Color.rgb(red+1, green+1, blue+1)
}
}
val newBitmap = Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888)