ImageAttributes.SetGamma 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
設定 gamma 值。
多載
SetGamma(Single) |
設定預設類別的 gamma 值。 |
SetGamma(Single, ColorAdjustType) |
設定指定類別的 gamma 值。 |
SetGamma(Single)
設定預設類別的 gamma 值。
public:
void SetGamma(float gamma);
public void SetGamma (float gamma);
member this.SetGamma : single -> unit
Public Sub SetGamma (gamma As Single)
參數
- gamma
- Single
gamma 更正值。
範例
下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse
,這是 Paint 事件處理程式的參數。 此外,您必須將映像檔路徑變更為系統上有效的路徑和映像名稱。 程式代碼會執行下列動作:
開啟使用檔案 Camera.jpg 的 Image,並使用 gamma 的預設值將它繪製到畫面。
建立 ImageAttributes 物件,並藉由呼叫 SetGamma 方法,將其 gamma 設定為 2.2。
使用剛在 ImageAttributes 物件中設定的 gamma 值,將影像 (第二個相機) 繪製到畫面。
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 物件會維護五個調整類別的色彩和灰階設定:預設、位圖、筆刷、手寫筆和文字。 例如,您可以指定預設類別的 Gamma 值、位陣圖類別的不同 gamma 值,以及畫筆類別的伽瑪值。
默認色彩調整和灰階調整設定適用於沒有自己調整設定的所有類別。 例如,如果您從未指定畫筆類別的任何調整設定,則預設設定會套用至畫筆類別。
超出一般範圍的 Gamma 值對於舊 CRT 監視器或處於異常光源條件下的監視器可能很有用,例如工業環境或視窗顯示器。
適用於
SetGamma(Single, ColorAdjustType)
設定指定類別的 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
gamma 更正值。
- type
- ColorAdjustType
ColorAdjustType 列舉的 元素,指定設定 gamma 值的類別。
範例
如需程式代碼範例,請參閱 SetGamma(Single) 方法。
備註
gamma
參數的一般值是從 1.0 到 2.2;不過,從 0.1 到 5.0 的值在某些情況下可能很有用。
ImageAttributes 物件會維護五個調整類別的色彩和灰階設定:預設、位圖、筆刷、手寫筆和文字。 例如,您可以指定預設類別的 Gamma 值、位陣圖類別的不同 gamma 值,以及畫筆類別的伽瑪值。
默認色彩調整和灰階調整設定適用於沒有自己調整設定的所有類別。 例如,如果您從未指定畫筆類別的任何調整設定,則預設設定會套用至畫筆類別。
一旦您指定特定類別的色彩調整或灰階調整設定,預設調整設定就不再套用至該類別。 例如,假設您指定預設類別的調整設定集合。 如果您藉由將 Pen 傳遞至 SetGamma 方法來設定畫筆類別的 gamma 值,則預設調整設定都不會套用至畫筆。
超出一般範圍的 Gamma 值對於舊 CRT 監視器或處於異常光源條件下的監視器可能很有用,例如工業環境或視窗顯示器。