ImageAttributes.SetGamma Método

Definição

Define o valor gama.

Sobrecargas

Name Description
SetGamma(Single)

Define o valor gama para a categoria padrão.

SetGamma(Single, ColorAdjustType)

Define o valor gama para uma categoria especificada.

SetGamma(Single)

Define o valor gama para a categoria padrão.

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

Parâmetros

gamma
Single

O valor de correção gama.

Exemplos

O seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador de eventos Paint. Além disso, precisa de alterar o caminho do ficheiro de imagem para um caminho e nome de imagem válidos no seu sistema. O código executa as seguintes ações:

  1. Abre um Image que usa o ficheiro Camera.jpg e desenha-o para o ecrã usando o valor padrão para gama.

  2. Cria um ImageAttributes objeto e define o seu gamma para 2.2 ao chamar o SetGamma método.

  3. Desenha a imagem (uma segunda câmara) para o ecrã usando o valor gama que acabou de definir no ImageAttributes objeto.

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

Observações

Os valores típicos para o gamma parâmetro variam entre 1,0 e 2,2; no entanto, valores entre 0,1 e 5,0 podem revelar-se úteis em algumas circunstâncias.

Um ImageAttributes objeto mantém definições de cor e tons de cinzento para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto. Por exemplo, pode especificar um valor gama para a categoria padrão, um valor gama diferente para a categoria bitmap e ainda um valor gama diferente para a categoria caneta.

As definições padrão de ajuste de cor e de escala de cinzentos aplicam-se a todas as categorias que não tenham definições próprias de ajuste. Por exemplo, se nunca especificares definições de ajuste para a categoria de canetas, as definições padrão aplicam-se à categoria de canetas.

Valores gama fora do intervalo habitual podem ser úteis para monitores CRT antigos ou para monitores em condições de iluminação invulgares, como ambientes industriais ou montras.

Aplica-se a

SetGamma(Single, ColorAdjustType)

Define o valor gama para uma categoria especificada.

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)

Parâmetros

gamma
Single

O valor de correção gama.

type
ColorAdjustType

Um elemento da ColorAdjustType enumeração que especifica a categoria para a qual o valor gama está definido.

Exemplos

Para um exemplo de código, veja o SetGamma(Single) método.

Observações

Os valores típicos para o gamma parâmetro variam entre 1,0 e 2,2; no entanto, valores entre 0,1 e 5,0 podem revelar-se úteis em algumas circunstâncias.

Um ImageAttributes objeto mantém definições de cor e tons de cinzento para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto. Por exemplo, pode especificar um valor gama para a categoria padrão, um valor gama diferente para a categoria bitmap e ainda um valor gama diferente para a categoria caneta.

As definições padrão de ajuste de cor e de escala de cinzentos aplicam-se a todas as categorias que não tenham definições próprias de ajuste. Por exemplo, se nunca especificares definições de ajuste para a categoria de canetas, as definições padrão aplicam-se à categoria de canetas.

Assim que especificas uma definição de ajuste de cor ou de escala de cinzentos para uma determinada categoria, as definições de ajuste padrão deixam de se aplicar a essa categoria. Por exemplo, suponha que especifica uma coleção de definições de ajuste para a categoria padrão. Se definires o valor gama para a categoria da caneta passando Pen para o SetGamma método, nenhuma das definições de ajuste padrão se aplicará às canetas.

Valores gama fora do intervalo habitual podem ser úteis para monitores CRT antigos ou para monitores em condições de iluminação invulgares, como ambientes industriais ou montras.

Aplica-se a