Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!

# Algorithm: Brightness Difference

Shyam Prasad Murarka
Ranch Hand
Posts: 209
Dear Readers,
I am using a program that allows the user to input two colors, one a Foreground color and the other a Background color. The program outputs whether the two colors have sufficient "color difference" and sufficient "brightness difference". If both conditions are fulfilled then these colors can be used as Foreground and Background colors.
I analyzed the outputs for different inputs and found the algorithm that the program used to calculate the "color difference".
I tried to do the same to find the algorithm used to calculate the "brightness difference". But in vain!
Does anybody know how to calculate the brightness difference?
I need this because I want to make a Java program that takes in a color input and outputs all the possible colors that can be used in combination with the input color.

dhwani mathur
Ranch Hand
Posts: 621
well!!i dont know if i am exactly clear with your doubt but why dont you try to use methods from class Color..
below shown is the link for it...

http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html#getHSBColor(float,%20float,%20float)

here you refer to method

getHSBColor()

they have specified that the value of brightness is floating point value between 0 and 1.you try to use this kind of strategy in your program.
i hope it helps you.....

dhwani mathur
Ranch Hand
Posts: 621
one more link i would like to specify,here you read the topic

1)Threaded Solution

There are some algorithms from which you will get atleast some idea on your program.

so here is the link

http://www.ugcs.caltech.edu/~bird/cs3/ml9/

Ulf Dittmer
Rancher
Posts: 42967
73
Converting to a different color model (like HSB) seems like the easiest way to go, as dhwani mathur said. The Color.RGBtoHSB method can convert an RGB triplet to a HSB triplet.

While the brightness (B) parameter is what you'd be most interested in, also look at the saturation (S). It may be the combination of both that's relevant to your problem.

marc weber
Sheriff
Posts: 11343
This is a bit advanced for beginners. Let's promote this topic to the intermediate forum.