


Notice that the difference in color between the top and bottom TextBlocks appears to be the same regardless of the original color: Here's an example, with the regular color TextBlock on top and the "dimmed" color TextBlock on the bottom. SRGB -> XYZ -> CIELAB, reduce the L* value to get the color with a reduced brightness -> XYZ -> sRGB. To accomplish this, I've settled on converting sRGB colors to CIELAB color space, reducing the L* value, and then converting back to sRGB like this: Not take perceptual effects into account.

Using a simple color space like HSL doesn't work well since computing color differences in HSL does In our GUI, we need to be able to display some labels whose color needs to appear to be a "dimmed" version of the color of their adjacent label. Net 4 on Windows Embedded Standard 7, but this is a pretty general Windows question since I think it could be solved using Windows Color System or Windows Imaging Component.
