Предполагая, что у меня два цвета, и мне нужно создать анимацию в реальном времени, которая быстро переключается с цвета на другой.
Я пытался просто увеличить шестнадцатеричный цвет до тех пор, пока не дойду до другого, но это дало очень плохую анимацию, так как показало много не связанных цветов.
Я использую setColorFilter(color, colorfilter)
для изменения цвета изображения.
Изменение HUE даст мне лучшие визуальные результаты? Если да, то как я могу изменить его для сплошного цвета?
РЕШЕНИЕ: Я решил его рекурсивно меняя оттенок
private int hueChange(int c,int deg){
float[] hsv = new float[3]; //array to store HSV values
Color.colorToHSV(c,hsv); //get original HSV values of pixel
hsv[0]=hsv[0]+deg; //add the shift to the HUE of HSV array
hsv[0]=hsv[0]%360; //confines hue to values:[0,360]
return Color.HSVToColor(Color.alpha(c),hsv);
}