ImageAttributes Sınıf

Tanım

bit eşlem ve meta dosyası renklerinin işleme sırasında 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 Renkleri

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

  1. Bir ColorMatrix nesneyi başlatın.

  2. ImageAttributes Bir nesneyi İçerik Oluşturucu ve nesnesini nesnesinin SetColorMatrix yöntemine ImageAttributes geçirinColorMatrix.

  3. ImageAttributes nesnesini nesnesinin DrawImageGraphics 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ümlerde, bu türü içeren System.Drawing.Common paketi yalnızca Windows işletim sistemlerinde desteklenir. Platformlar arası uygulamalarda bu türün kullanılması derleme zamanı uyarılarına ve çalışma zamanı özel durumlarına neden olur. Daha fazla bilgi için bkz . System.Drawing.Common yalnızca Windows'ta 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 color-remap tablosunu ayarlar.

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

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

SetBrushRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)

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

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(ColorAdjustType, ReadOnlySpan<ColorMap>)

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

SetRemapTable(ColorAdjustType, ReadOnlySpan<ValueTuple<Color,Color>>)

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

SetRemapTable(ColorMap[])

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

SetRemapTable(ColorMap[], ColorAdjustType)

Belirtilen kategori için color-remap tablosunu ayarlar.

SetRemapTable(ReadOnlySpan<ColorMap>)

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

SetRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)

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

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.