Так что мне нужно смешать 2 цвета с различными значениями альфа. Любой цвет может иметь альфа-цвет 0-255. Вот алгоритм, который я использую сейчас, и он не работает. Если альфа превышает 1 для любого цвета, тогда весь цвет становится твердым. По шкале 0-255 1 должно быть почти полностью прозрачным. Что мне нужно изменить, чтобы добиться этого?Blend 2 Цвета в Java
public void blend(Color color1, Color color2, double ratio) {
float r = (float) ratio;
float ir = (float) 1.0 - r;
float[] rgb1 = new float[3];
float[] rgb2 = new float[3];
color1.getColorComponents(rgb1);
color2.getColorComponents(rgb2);
Color color = new Color(rgb1[0] * r + rgb2[0] * ir, rgb1[1] * r + rgb2[1] * ir, rgb1[2] * r + rgb2[2] * ir);
this.color = color;
}
Double убедитесь, что 'ratio' находится в диапазоне от 0.0-1.0 – vandale
Просто примечание: на Java вы должны объявить свои массивы с помощью скобок вместе с типом:' float [] rgb1 = new float [3] '. – Keppil
@vandale Установлено значение 0,5 – user3140916