如何:对渐变应用灰度校正

更新: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。

请参见

参考

LinearGradientBrush

其他资源

使用渐变画笔填充形状