Silverlight 4.0 - 对比度和亮度管理

时间:2010-09-29 18:45:13

标签: image silverlight-4.0 brightness contrast

我正在为Silverlight 4.0构建一个图像编辑器,需要一些洞察力或可能的代码片段或库来实现对比度/亮度管理。

如果有人愿意分享如何实现,我将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

对比度是指在可能的总值范围内,存在一系列像素亮度值的“宽”。

亮度是此范围从最小可能水平的“偏移”。

要增加对比度,从所有像素值中减去(最小当前值 - 最小可能值)以将条带置回0.然后将所有值乘以(最大可能值/最大值存在)以将“条带”缩放为所有可能值的范围。

要调整亮度,请从每个像素中添加或减去绝对值。

您可能希望使用HSL或HSV色彩空间中的亮度或值通道执行此操作。

我在这里找到了一些代码。 http://www.dfanning.com/ip_tips/contrast.html

答案 1 :(得分:1)

这是运行时很棒的article on changing brightness。它主要涉及将Brush颜色转换为HSB,应用新的“亮度”级别,然后转换回新的Brush颜色。

至于对比......我想你可以做同样的基本技巧,但这次检查每种颜色的RGB值;如果一种颜色恰好支配其他颜色,则增加其颜色值并通过某种因素减少其他颜色值。你的红色变红了,绿色变得更绿,你的蓝色变得更蓝。这个因素需要调整,但它可能有效。