我正在尝试在 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中的图像颜色变化时间?
请帮我 ...