gpt4 book ai didi

android - 更改图像颜色在 android 中花费太多时间

转载 作者:行者123 更新时间:2023-11-29 00:33:08 25 4
gpt4 key购买 nike

我正在尝试在 android 中动态更改图像颜色。但这需要很多时间。

下面的函数用于改变颜色。

  public void greenColor(ImageView imageView,String fileName){
System.out.println("in green color method");

//initialize the Bitmap Object

Bitmap bmp = BitmapFactory.decodeFile(fileName);
// Bitmap bmp = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
//Guarantees that the image is decoded in the ARGB8888 format
bmp = bmp.copy(Bitmap.Config.ARGB_8888, true);



//Initialize the intArray with the same size as the number of pixels on the image
int[] intArray = new int[bmp.getWidth()*bmp.getHeight()];

//copy pixel data from the Bitmap into the 'intArray' array
bmp.getPixels(intArray, 0, bmp.getWidth(), 0, 0, bmp.getWidth(), bmp.getHeight());



//replace the red pixels with yellow ones
try{
for (int i=0; i < intArray.length; i++)
{
//System.out.println("pixel value :"+intArray[i]);
//intArray[i] = 0xFFFF0000;

if(intArray[i] == Color.WHITE)
{

System.out.println("color white ");
} else{
System.out.println(intArray[i]);
intArray[i]=Color.GREEN;
}
}
}catch(Exception e){
System.out.println("pixel error "+e);
}


//Initialize the bitmap, with the replaced color
bmp = Bitmap.createBitmap(intArray, bmp.getWidth(), bmp.getHeight(), Bitmap.Config.ARGB_8888);

//Draw the bitmap with the replaced color
imageView.setImageBitmap(bmp);
//----end color

}

我已经尝试了很多并进行了谷歌搜索,但我无法解决我的问题,

有什么技巧可以减少android中图像颜色变化的时间吗?

请帮帮我...

最佳答案

在您的情况下,将图像转换为二维数组并检查每个索引需要时间。

所以如果图像是 2000*2000 大小,想象一下你要处理多少。如果您想更改 alfa 或色调,那么您应该使用位图 API 而不是手动进行。

关于android - 更改图像颜色在 android 中花费太多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14251896/

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