Sack Library Documentation
|
IMAGE_PROC_D CDATA (__cdecl * ColorAverage)(CDATA c1, CDATA c2, int d, int max);
Parameters |
Description |
distance |
How from from 0 to max distance to scale. |
max |
How wide the scalar is. |
This routine can be used to generically scale to any point between two colors.
Max is the scale that distance can go from. Distance 0 is the first color, Distance == max is the second color. The distance from 0 to max proportionately scaled the color....
CDATA green = BASE_COLOR_GREEN; CDATA blue = BASE_COLOR_BLUE; CDATA red = BASE_COLOR_RED;
Compute a color that is halfway from blue to green. (if the total distance is 100, then 50 is half way).
CDATA blue_green = ColorAverage( blue, green, 50, 100 );
Compute a color that's mostly red.
CDATA red_blue_green = ColorAverage( blue_green, red, 240, 255 );
Iterate through a whole scaled range...
int n; for( n = 0; n < 100; n++ ) { CDATA scaled = ColorAverage( BASE_COLOR_WHITE, BASE_COLOR_BLACK, n, 100 ); // as n increases, the color slowly goes from WHITE to BLACK. }
Copyright (c) 2000+. All rights reserved.
|
What do you think about this topic? Send feedback!
|