What's the most effective way to interpolate between two colors? (pseudocode and bitwise ops expecte

Posted by navand on Stack Overflow See other posts from Stack Overflow or by navand
Published on 2010-04-13T15:37:38Z Indexed on 2010/04/13 15:43 UTC
Read the original article Hit count: 246

Filed under:
|
|
|

Making a Blackberry app, want a Gradient class. What's the most effective way (as in, speed and battery life) to interpolate two colors? Please be specific.

// Java, of course
int c1 = 0xFFAA0055   // color 1, ARGB
int c2 = 0xFF00CCFF   // color 2, ARGB
float st = 0          // the current step in the interpolation, between 0 and 1

/* Help from here on. Should I separate each channel of each color, convert them to decimal and interpolate? Is there a simpler way?

interpolatedChannel = red1+((red2-red1)*st)
interpolatedChannel = interpolatedChannel.toString(16)

^ Is this the right thing to do? If speed and effectiveness is important in a mobile app, should I use bitwise operations?

Help me! */

© Stack Overflow or respective owner

Related posts about hexadecimal

Related posts about hex