Я хочу изменить цвет изображения слева направо, как спектр, и увидеть изменение цвета по мере его изменения, вот мой код, проблема в том, что он меняется от исходного изображения до конечного изображения после щелчка по buttom, но я не знаю, как его изменить, чтобы я мог видеть изменение, поскольку оно меняется.android изменение цвета изображения слева направо плавно
final ImageView imgView = (ImageView) findViewById(R.id.imageView);
Button btn = (Button) findViewById(R.id.button1);
Bitmap bitmap = ((BitmapDrawable) imgView.getDrawable()).getBitmap();
final Bitmap mutableBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
for(x = 0; x < mutableBitmap.getWidth() ; x++){
runOnUiThread (new Thread(new Runnable() {
public void run() {
try {
for(int y = 0; y < mutableBitmap.getHeight() ; y++){
int c = mutableBitmap.getPixel(x, y);
mutableBitmap.setPixel(x, y, Color.rgb(Color.red(c), (200 - Color.green(c)), Color.blue(c)));
Log.d("IMAGE", ""+x);
}
imgView.setImageBitmap(mutableBitmap);
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}));
}
}
});
Вы имеете в виду как [color gradient] (https://en.wikipedia.org/wiki/Color_gradient)? – CommonsWare
Да, например, он начинается с белого и заканчивается зеленым непрерывно. –
Рассмотрите возможность использования 'GradientDrawable' вместо сборки собственного растрового изображения. – CommonsWare