ImageAttributes Sınıf

Tanım

İşleme sırasında bit eşlem ve meta dosyası renklerinin nasıl işlendiği hakkında bilgi içerir.

public ref class ImageAttributes sealed : ICloneable, IDisposable
public sealed class ImageAttributes : ICloneable, IDisposable
type ImageAttributes = class
    interface ICloneable
    interface IDisposable
Public NotInheritable Class ImageAttributes
Implements ICloneable, IDisposable
Devralma
ImageAttributes
Uygulamalar

Örnekler

Aşağıdaki örnek, tümü bir renk (0.2, 0.0, 0.4, 1.0) olan bir görüntü alır ve kırmızı bileşenin kırmızı, yeşil ve mavi bileşenlere 0,2 eklemesini sağlar.

Aşağıdaki çizimde, soldaki özgün görüntü ve sağda dönüştürülmüş görüntü gösterilmektedir.

Renkler

Örnekteki kod, yeniden renklendirmeyi gerçekleştirmek için aşağıdaki adımları kullanır:

  1. Bir ColorMatrix nesneyi başlatın.

  2. Bir ImageAttributes nesnesi oluşturun ve nesnesini nesnesinin SetColorMatrix yöntemine ImageAttributes geçirinColorMatrix.

  3. ImageAttributes nesnesini nesnesinin DrawImage Graphics yöntemine geçirin.

Image image = new Bitmap("InputColor.bmp");
ImageAttributes imageAttributes = new ImageAttributes();
int width = image.Width;
int height = image.Height;

float[][] colorMatrixElements = { 
   new float[] {2,  0,  0,  0, 0},        // red scaling factor of 2
   new float[] {0,  1,  0,  0, 0},        // green scaling factor of 1
   new float[] {0,  0,  1,  0, 0},        // blue scaling factor of 1
   new float[] {0,  0,  0,  1, 0},        // alpha scaling factor of 1
   new float[] {.2f, .2f, .2f, 0, 1}};    // three translations of 0.2

ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);

imageAttributes.SetColorMatrix(
   colorMatrix,
   ColorMatrixFlag.Default,
   ColorAdjustType.Bitmap);

e.Graphics.DrawImage(image, 10, 10);

e.Graphics.DrawImage(
   image,
   new Rectangle(120, 10, width, height),  // destination rectangle 
   0, 0,        // upper-left corner of source rectangle 
   width,       // width of source rectangle
   height,      // height of source rectangle
   GraphicsUnit.Pixel,
   imageAttributes);
Dim image As New Bitmap("InputColor.bmp")
Dim imageAttributes As New ImageAttributes()
Dim width As Integer = image.Width
Dim height As Integer = image.Height

' The following matrix consists of the following transformations:
' red scaling factor of 2
' green scaling factor of 1
' blue scaling factor of 1
' alpha scaling factor of 1
' three translations of 0.2
Dim colorMatrixElements As Single()() = { _
   New Single() {2, 0, 0, 0, 0}, _
   New Single() {0, 1, 0, 0, 0}, _
   New Single() {0, 0, 1, 0, 0}, _
   New Single() {0, 0, 0, 1, 0}, _
   New Single() {0.2F, 0.2F, 0.2F, 0, 1}}

Dim colorMatrix As New ColorMatrix(colorMatrixElements)

imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap)

e.Graphics.DrawImage(image, 10, 10)

e.Graphics.DrawImage( _
   image, _
   New Rectangle(120, 10, width, height), _
   0, _
   0, _
   width, _
   height, _
   GraphicsUnit.Pixel, _
   imageAttributes)

Açıklamalar

Nesne ImageAttributes renk ayarlama matrisleri, gri tonlamalı ayarlama matrisleri, gama düzeltme değerleri, renk eşleme tabloları ve renk eşiği değerleri gibi çeşitli renk ayarlama ayarlarını korur. İşleme sırasında renkler düzeltilebilir, koyulaştırılabilir, açılabilir ve kaldırılabilir. Bu tür işlemeleri uygulamak için bir ImageAttributes nesne başlatın ve bu ImageAttributes nesnenin yolunu (bir ile birlikte Image) yöntemine DrawImage geçirin.

Not

.net 6 ve sonraki sürümlerinde, bu türü içeren System. Drawing. Common paketiyalnızca Windows işletim sistemlerinde desteklenir. Platformlar arası uygulamalarda bu tür kullanımı, derleme zamanı uyarıları ve çalışma zamanı özel durumları oluşmasına neden olur. Daha fazla bilgi için bkz. System. Drawing. Common yalnızca Windows desteklenir.

Oluşturucular

ImageAttributes()

ImageAttributes sınıfının yeni bir örneğini başlatır.

Yöntemler

ClearBrushRemapTable()

Bu ImageAttributes nesnenin fırça renk eşleme tablosunu temizler.

ClearColorKey()

Varsayılan kategori için renk tuşunu (saydamlık aralığı) temizler.

ClearColorKey(ColorAdjustType)

Belirtilen kategori için renk anahtarını (saydamlık aralığı) temizler.

ClearColorMatrix()

Varsayılan kategori için renk ayarlama matrisini temizler.

ClearColorMatrix(ColorAdjustType)

Belirtilen kategori için renk ayarlama matrisini temizler.

ClearGamma()

Varsayılan kategori için gama düzeltmesini devre dışı bırakır.

ClearGamma(ColorAdjustType)

Belirtilen kategori için gama düzeltmesini devre dışı bırakır.

ClearNoOp()

Varsayılan kategorinin NoOp ayarını temizler.

ClearNoOp(ColorAdjustType)

Belirtilen kategorinin NoOp ayarını temizler.

ClearOutputChannel()

Varsayılan kategori için CMYK (camgöbeği-eflatun-sarı-siyah) çıkış kanalı ayarını temizler.

ClearOutputChannel(ColorAdjustType)

Belirtilen kategori için (camgöbeği-eflatun-sarı-siyah) çıkış kanalı ayarını temizler.

ClearOutputChannelColorProfile()

Varsayılan kategori için çıkış kanalı renk profili ayarını temizler.

ClearOutputChannelColorProfile(ColorAdjustType)

Belirtilen kategori için çıkış kanalı renk profili ayarını temizler.

ClearRemapTable()

Varsayılan kategori için color-remap tablosunu temizler.

ClearRemapTable(ColorAdjustType)

Belirtilen kategori için color-remap tablosunu temizler.

ClearThreshold()

Varsayılan kategori için eşik değerini temizler.

ClearThreshold(ColorAdjustType)

Belirtilen kategori için eşik değerini temizler.

Clone()

Bu ImageAttributes nesnenin tam bir kopyasını oluşturur.

Dispose()

Bu ImageAttributes nesne tarafından kullanılan tüm kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Finalize()

Bir nesnenin atık toplama tarafından geri kazanılmadan önce kaynakları boşaltmaya ve diğer temizleme işlemlerini gerçekleştirmeye çalışmasına izin verir.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Paletdeki renkleri, belirtilen kategorinin ayarlama ayarlarına göre ayarlar.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetBrushRemapTable(ColorMap[])

Fırça kategorisi için renk yeniden eşleme tablosunu ayarlar.

SetColorKey(Color, Color)

Varsayılan kategori için renk anahtarını ayarlar.

SetColorKey(Color, Color, ColorAdjustType)

Belirtilen kategori için renk anahtarını (saydamlık aralığı) ayarlar.

SetColorMatrices(ColorMatrix, ColorMatrix)

Varsayılan kategori için renk ayarlama matrisini ve gri tonlamalı ayarlama matrisini ayarlar.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Varsayılan kategori için renk ayarlama matrisini ve gri tonlamalı ayarlama matrisini ayarlar.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Belirtilen kategori için renk ayarlama matrisini ve gri tonlamalı ayarlama matrisini ayarlar.

SetColorMatrix(ColorMatrix)

Varsayılan kategori için renk ayarlama matrisini ayarlar.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

Varsayılan kategori için renk ayarlama matrisini ayarlar.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Belirtilen kategori için renk ayarlama matrisini ayarlar.

SetGamma(Single)

Varsayılan kategori için gama değerini ayarlar.

SetGamma(Single, ColorAdjustType)

Belirtilen kategori için gama değerini ayarlar.

SetNoOp()

Varsayılan kategori için renk ayarlamayı kapatır. yöntemi çağrısından ClearNoOp önce yerinde olan renk ayarlama ayarlarını yeniden devreye almak için SetNoOp yöntemini çağırabilirsiniz.

SetNoOp(ColorAdjustType)

Belirtilen kategori için renk ayarlamayı kapatır. yöntemi çağrısından ClearNoOp önce yerinde olan renk ayarlama ayarlarını yeniden devreye almak için SetNoOp yöntemini çağırabilirsiniz.

SetOutputChannel(ColorChannelFlag)

Varsayılan kategori için CMYK (camgöbeği-eflatun-sarı-siyah) çıkış kanalını ayarlar.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Belirtilen kategori için CMYK (camgöbeği-eflatun-sarı-siyah) çıkış kanalını ayarlar.

SetOutputChannelColorProfile(String)

Varsayılan kategori için çıkış kanalı renk profili dosyasını ayarlar.

SetOutputChannelColorProfile(String, ColorAdjustType)

Belirtilen kategori için çıkış kanalı renk profili dosyasını ayarlar.

SetRemapTable(ColorMap[])

Varsayılan kategori için color-remap tablosunu ayarlar.

SetRemapTable(ColorMap[], ColorAdjustType)

Belirtilen kategori için color-remap tablosunu ayarlar.

SetThreshold(Single)

Varsayılan kategori için eşiği (saydamlık aralığı) ayarlar.

SetThreshold(Single, ColorAdjustType)

Belirtilen kategori için eşiği (saydamlık aralığı) ayarlar.

SetWrapMode(WrapMode)

Bir dokuyu bir şekil boyunca veya şekil sınırlarında döşemeye karar vermek için kullanılan kaydırma modunu ayarlar. Doku, doldurduğu şekilden daha küçük olduğunda, bir şekli doldurmak için şeklin üzerinde döşeme yapılır.

SetWrapMode(WrapMode, Color)

Bir dokuyu bir şekil boyunca veya şekil sınırlarında döşemeye karar vermek için kullanılan kaydırma modunu ve rengi ayarlar. Doku, doldurduğu şekilden daha küçük olduğunda, bir şekli doldurmak için şeklin üzerinde döşeme yapılır.

SetWrapMode(WrapMode, Color, Boolean)

Bir dokuyu bir şekil boyunca veya şekil sınırlarında döşemeye karar vermek için kullanılan kaydırma modunu ve rengi ayarlar. Doku, doldurduğu şekilden daha küçük olduğunda, bir şekli doldurmak için şeklin üzerinde döşeme yapılır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.