вы хотите интерполяцию между первым и вторым цветом. Интерполировать цвета легко, рассчитав одинаковую интерполяцию для каждого из его компонентов (R, G, B). Есть много способов интерполировать. Проще всего использовать линейную интерполяцию: достаточно взять процент p первого цвета и процент 1 - p второго:
R = firstCol.R * p + secondCol.R * (1 - p)
Есть другой вопрос , связанный с этим.
Существуют и другие методы интерполяции, которые иногда работают лучше. Например, использование интерполяционной функции в форме колокола *1013* делает переход более плавным.
/ EDIT: К сожалению, вы имеете в виду использование предопределенной функции. ОК, еще проще. Сообщение в блоге, на которое вы ссылаетесь, теперь имеет пример кода на Python.
В Java вы можете использовать GradientPaint
.