gpt4 book ai didi

java - ColorFilter 仅特定颜色

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:25 32 4
gpt4 key购买 nike

关于 ColorFilter() 函数的一个简短问题;我正在尝试用新颜色替换图像的特定颜色:

默认: default结果:result

所以在这个例子中我只想用蓝色替换红色。但不要修改该图像的黑色。

目前我正在使用以下代码:

int color = Color.parseColor("#0000FF");
iv1.setColorFilter(颜色, PorterDuff.Mode.SRC_ATOP);

根据“PorterDuff”模式的描述,我应该使用“SRV_ATOP”。但是我应该如何使用这种模式才能只替换红色呢?

最佳答案

我现在找到了一种非常有效的方法。因此,对于面临同样问题的每个人...这是适合我的代码:

            //Decode *.png file to Bitmap
Bitmap Bitmap_temp = BitmapFactory.decodeResource(getResources(), R.drawable.image_1);
Bitmap Bitmap_final = Bitmap_temp.copy(android.graphics.Bitmap.Config.ARGB_8888, true);

//Get Pixel and change color if pixel color match
int [] allpixels = new int [Bitmap_final.getHeight() * Bitmap_final.getWidth()];
Bitmap_final.getPixels(allpixels, 0, Bitmap_final.getWidth(), 0, 0, Bitmap_final.getWidth(), Bitmap_final.getHeight());
for(int i = 0; i < allpixels.length; i++)
{
if(allpixels[i] == Color.parseColor("#fff000"))
{
allpixels[i] = Color.parseColor("#0D0D0D");
}
}
Bitmap_final.setPixels(allpixels,0,Bitmap_final.getWidth(),0, 0, Bitmap_final.getWidth(),Bitmap_final.getHeight());

//Set Bitmap to ImageView
iv_image1.setImageBitmap(Bitmap_final);

关于java - ColorFilter 仅特定颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48476265/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com