question: static int deriveARGB ( Color color1 , Color color2 , float midPoint ) { int r = color1 . getRed ( ) + Math . round ( ( color2 . getRed ( ) - color1 . getRed ( ) ) * midPoint ) ; int g = color1 . getGreen ( ) + Math . round ( ( color2 . getGreen ( ) - color1 . getGreen ( ) ) * midPoint ) ; int b = color1 . getBlue ( ) + Math . round ( ( color2 . getBlue ( ) - color1 . getBlue ( ) ) * midPoint ) ; int a = color1 . getAlpha ( ) + Math . round ( ( color2 . getAlpha ( ) - color1 . getAlpha ( ) ) * midPoint ) ; return ( ( a & 0xFF ) << 24 ) | ( ( r & 0xFF ) << 16 ) | ( ( g & 0xFF ) << 8 ) | ( b & 0xFF ) ; }
target:  Derives the ARGB value for a color based on an offset between two other colors.