Export (0) Print
Expand All
1 out of 2 rated this helpful - Rate this topic

ImageAttributes.SetGamma Method (Single)

Sets the gamma value for the default category.

Namespace: System.Drawing.Imaging
Assembly: System.Drawing (in system.drawing.dll)

public void SetGamma (
	float gamma
)
public void SetGamma (
	float gamma
)
public function SetGamma (
	gamma : float
)
Not applicable.

Parameters

gamma

The gamma correction value.

Return Value

This method does not return a value.

Typical values for the gamma parameter are from 1.0 to 2.2; however, values from 0.1 to 5.0 could prove useful in some circumstances.

An ImageAttributes object maintains color and grayscale settings for five adjustment categories: default, bitmap, brush, pen, and text. For example, you can specify a gamma value for the default category, a different gamma value for the bitmap category, and still a different gamma value for the pen category.

The default color-adjustment and grayscale-adjustment settings apply to all categories that do not have adjustment settings of their own. For example, if you never specify any adjustment settings for the pen category, the default settings apply to the pen category.

Gamma values outside the usual range may be useful for old CRT monitors or for monitors that are in unusual lighting conditions, such as industrial environments or window displays.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. The code performs the following actions:

  1. Opens an Image that uses the file Camera.jpg and draws it to the screen using the default value for gamma.

  2. Creates an ImageAttributes object and sets its gamma to 2.2 by calling the SetGamma method.

  3. Draws the image (a second camera) to the screen using the gamma value just set in the ImageAttributes object.

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.
    ImageAttributes imageAttr = new 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);    
}

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.get_Graphics().DrawImage(myImage, 20, 20);

    // Create an ImageAttributes object and set the gamma to 2.2.
    ImageAttributes imageAttr = new ImageAttributes();

    imageAttr.SetGamma(2.2F);

    // Draw the image with gamma set to 2.2.
    Rectangle rect = new Rectangle(250, 20, 200, 200);

    e.get_Graphics().DrawImage(myImage, rect, 0, 0, 200, 200, 
        GraphicsUnit.Pixel, imageAttr);
} //SetGammaExample

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.