ImageAttributes.SetGamma 方法

定义

设置 gamma 值。

重载

SetGamma(Single)

设置默认类别的 gamma 值。

SetGamma(Single, ColorAdjustType)

设置指定类别的 gamma 值。

SetGamma(Single)

Source:
ImageAttributes.cs
Source:
ImageAttributes.cs
Source:
ImageAttributes.cs
Source:
ImageAttributes.cs
Source:
ImageAttributes.cs

设置默认类别的 gamma 值。

public:
 void SetGamma(float gamma);
public void SetGamma (float gamma);
member this.SetGamma : single -> unit
Public Sub SetGamma (gamma As Single)

参数

gamma
Single

伽玛更正值。

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 此外,需要将映像文件路径更改为系统上有效的路径和映像名称。 该代码执行以下操作:

  1. 打开使用文件 Camera.jpg 的 Image,并使用 gamma 的默认值将其绘制到屏幕。

  2. 创建一个 ImageAttributes 对象,并通过调用 SetGamma 方法将其 gamma 设置为 2.2。

  3. 使用刚刚在 ImageAttributes 对象中设置的伽玛值将图像(第二个相机)绘制到屏幕。

private:
   void SetGammaExample( PaintEventArgs^ e )
   {
      // Create an Image object from the file Camera.jpg, and draw it to
      // the screen.
      Image^ myImage = Image::FromFile( "Camera.jpg" );
      e->Graphics->DrawImage( myImage, 20, 20 );

      // Create an ImageAttributes object and set the gamma to 2.2.
      System::Drawing::Imaging::ImageAttributes^ imageAttr = 
          gcnew System::Drawing::Imaging::ImageAttributes;
      imageAttr->SetGamma( 2.2f );

      // Draw the image with gamma set to 2.2.
      Rectangle rect = Rectangle(250,20,200,200);
      e->Graphics->DrawImage( myImage, rect, 0, 0, 200, 200, GraphicsUnit::Pixel, imageAttr );
   }
private void SetGammaExample(PaintEventArgs e)
{
             
    // Create an Image object from the file Camera.jpg, and draw it to
    // the screen.
    Image myImage = Image.FromFile("Camera.jpg");
    e.Graphics.DrawImage(myImage, 20, 20);
             
    // Create an ImageAttributes object and set the gamma to 2.2.
    System.Drawing.Imaging.ImageAttributes imageAttr = 
           new System.Drawing.Imaging.ImageAttributes();
    imageAttr.SetGamma(2.2f);
             
    // Draw the image with gamma set to 2.2.
    Rectangle rect = new Rectangle(250, 20, 200, 200);
    e.Graphics.DrawImage(myImage, rect, 0, 0, 200, 200, 
        GraphicsUnit.Pixel, imageAttr);    
}
Public Sub SetGammaExample(ByVal e As PaintEventArgs)

    ' Create an Image object from the file Camera.jpg, and draw

    ' it to screen.
    Dim myImage As Image = Image.FromFile("Camera.jpg")
    e.Graphics.DrawImage(myImage, 20, 20)

    ' Create an ImageAttributes object and set the gamma to 2.2.
    Dim imageAttr As New System.Drawing.Imaging.ImageAttributes
    imageAttr.SetGamma(2.2F)

    ' Draw the image with gamma set to 2.2.
    Dim rect As New Rectangle(250, 20, 200, 200)
    e.Graphics.DrawImage(myImage, rect, 0, 0, 200, 200, _
    GraphicsUnit.Pixel, imageAttr)
    ' Image
End Sub

注解

gamma 参数的典型值为 1.0 到 2.2;但是,在某些情况下,从 0.1 到 5.0 的值可能很有用。

ImageAttributes 对象维护五个调整类别的颜色和灰度设置:默认、位图、画笔、笔和文本。 例如,可以为默认类别指定伽玛值、位图类别的不同伽玛值,以及笔类别的其他伽玛值。

默认颜色调整和灰度调整设置适用于没有自己调整设置的所有类别。 例如,如果从未为笔类别指定任何调整设置,则默认设置将应用于笔类别。

通常范围之外的伽玛值对于旧 CRT 监视器或处于异常照明条件的监视器(如工业环境或窗口显示器)可能很有用。

适用于

SetGamma(Single, ColorAdjustType)

Source:
ImageAttributes.cs
Source:
ImageAttributes.cs
Source:
ImageAttributes.cs
Source:
ImageAttributes.cs
Source:
ImageAttributes.cs

设置指定类别的 gamma 值。

public:
 void SetGamma(float gamma, System::Drawing::Imaging::ColorAdjustType type);
public void SetGamma (float gamma, System.Drawing.Imaging.ColorAdjustType type);
member this.SetGamma : single * System.Drawing.Imaging.ColorAdjustType -> unit
Public Sub SetGamma (gamma As Single, type As ColorAdjustType)

参数

gamma
Single

伽玛更正值。

type
ColorAdjustType

ColorAdjustType 枚举的元素,指定为其设置伽玛值的类别。

示例

有关代码示例,请参阅 SetGamma(Single) 方法。

注解

gamma 参数的典型值为 1.0 到 2.2;但是,在某些情况下,从 0.1 到 5.0 的值可能很有用。

ImageAttributes 对象维护五个调整类别的颜色和灰度设置:默认、位图、画笔、笔和文本。 例如,可以为默认类别指定伽玛值、位图类别的不同伽玛值,以及笔类别的其他伽玛值。

默认颜色调整和灰度调整设置适用于没有自己调整设置的所有类别。 例如,如果从未为笔类别指定任何调整设置,则默认设置将应用于笔类别。

指定特定类别的颜色调整或灰度调整设置后,默认调整设置将不再应用于该类别。 例如,假设为默认类别指定调整设置的集合。 如果将 Pen 传递给 SetGamma 方法来设置笔类别的 gamma 值,则默认调整设置将不适用于笔。

通常范围之外的伽玛值对于旧 CRT 监视器或处于异常照明条件的监视器(如工业环境或窗口显示器)可能很有用。

适用于