如何:对渐变应用灰度校正
更新:2007 年 11 月
可通过将渐变画笔的 GammaCorrection 属性设置为 true 来启用线性渐变画笔的伽玛矫正。可通过将 GammaCorrection 属性设置为 false 来禁用伽玛矫正。在默认情况下,禁用伽玛矫正。
示例
下面的示例创建一个线性渐变画笔并使用它填充两个矩形。第一个矩形在填充时未启用伽玛矫正;第二个矩形在填充时启用了伽玛矫正。
下面的插图显示这两个实心矩形。上面的矩形未采用伽玛矫正,它的中间部分看上去较暗。下面的矩形采用了伽玛矫正,看上去亮度更均匀。
Dim linGrBrush As New LinearGradientBrush( _
New Point(0, 10), _
New Point(200, 10), _
Color.Red, _
Color.Blue)
e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50)
linGrBrush.GammaCorrection = True
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50)
LinearGradientBrush linGrBrush = new LinearGradientBrush(
new Point(0, 10),
new Point(200, 10),
Color.Red,
Color.Blue);
e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50);
linGrBrush.GammaCorrection = true;
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50);
编译代码
前面的示例是为使用 Windows 窗体而设计的,它需要 Paint 事件处理程序的参数 PaintEventArgse。