EncoderParameter Sınıf

Tanım

Bir değeri veya değer dizisini görüntü kodlayıcıya geçirmek için kullanılır.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Devralma
EncoderParameter
Uygulamalar

Örnekler

Aşağıdaki kod örneğinde oluşturucu kullanılarak nasıl oluşturulacağı EncoderParameter gösterilmektedir EncoderParameter . Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve formun VaryQualityLevel oluşturucusundan yöntemini çağırın. Bu örnek, c:\ konumunda bulunan adlı TestPhoto.jpg bir görüntü dosyası gerektirir.

private void VaryQualityLevel()
{
    // Get a bitmap.
    Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg");
    ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);

    // Create an Encoder object based on the GUID
    // for the Quality parameter category.
    System.Drawing.Imaging.Encoder myEncoder =
        System.Drawing.Imaging.Encoder.Quality;

    // Create an EncoderParameters object.
    // An EncoderParameters object has an array of EncoderParameter
    // objects. In this case, there is only one
    // EncoderParameter object in the array.
    EncoderParameters myEncoderParameters = new EncoderParameters(1);

    EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters);

    myEncoderParameter = new EncoderParameter(myEncoder, 100L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters);

    // Save the bitmap as a JPG file with zero quality level compression.
    myEncoderParameter = new EncoderParameter(myEncoder, 0L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters);
}
Private Sub VaryQualityLevel()
    ' Get a bitmap.
    Dim bmp1 As New Bitmap("c:\TestPhoto.jpg")
    Dim jpgEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)

    ' Create an Encoder object based on the GUID
    ' for the Quality parameter category.
    Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality

    ' Create an EncoderParameters object.
    ' An EncoderParameters object has an array of EncoderParameter
    ' objects. In this case, there is only one
    ' EncoderParameter object in the array.
    Dim myEncoderParameters As New EncoderParameters(1)

    Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters)

    myEncoderParameter = New EncoderParameter(myEncoder, 100&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters)

    ' Save the bitmap as a JPG file with zero quality level compression.
    myEncoderParameter = New EncoderParameter(myEncoder, 0&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters)

End Sub
private ImageCodecInfo GetEncoder(ImageFormat format)
{
    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

    foreach (ImageCodecInfo codec in codecs)
    {
        if (codec.FormatID == format.Guid)
        {
            return codec;
        }
    }
    
    return null;
}
Private Function GetEncoder(ByVal format As ImageFormat) As ImageCodecInfo

    Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()

    Dim codec As ImageCodecInfo
    For Each codec In codecs
        If codec.FormatID = format.Guid Then
            Return codec
        End If
    Next codec
    Return Nothing

End Function

Açıklamalar

Belirli bir görüntü kodlayıcının belirli bir EncoderParameter parametresi tarafından desteklenen olası değerlerin listesini almak için bir nesnesi de kullanabilirsiniz.

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

EncoderParameter(Encoder, Byte)

Belirtilen Encoder nesne ve işaretsiz bir 8 bit tamsayı ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeByteolarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Byte, Boolean)

Belirtilen Encoder nesne ve bir 8 bit değer ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeUndefined veya ValueTypeByteolarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Byte[])

Belirtilen Encoder nesne ve işaretsiz 8 bit tamsayılar dizisi ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeByteolarak ayarlar ve özelliğini dizideki öğelerin sayısına ayarlarNumberOfValues.

EncoderParameter(Encoder, Byte[], Boolean)

Belirtilen Encoder nesne ve bayt dizisiyle sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini veya ValueTypeByteolarak ValueTypeUndefined ayarlar ve özelliğini dizideki öğelerin sayısına ayarlarNumberOfValues.

EncoderParameter(Encoder, Int16)

Belirtilen Encoder nesne ve bir, 16 bit tamsayı ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeShortolarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Int16[])

Belirtilen Encoder nesne ve 16 bit tamsayılar dizisi ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeShortolarak ayarlar ve özelliğini dizideki öğelerin sayısına ayarlarNumberOfValues.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Belirtilen Encoder nesne, değer sayısı, değerlerin EncoderParameter veri türü ve nesnede depolanan değerlerin işaretçisi ile sınıfın yeni bir örneğini EncoderParameter başlatır.

EncoderParameter(Encoder, Int32, Int32)

Belirtilen Encoder nesne ve 32 bit tamsayı çifti ile sınıfının yeni bir örneğini EncoderParameter başlatır. Tamsayı çifti bir kesir, ilk tamsayı payda ve ikinci tamsayı paydayı temsil eder. ValueType özelliğini ValueTypeRationalolarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Int32, Int32, Int32)
Geçersiz.
Geçersiz.
Geçersiz.

Belirtilen Encoder nesne ve değerlerin sayısını, değerlerin EncoderParameter veri türünü ve nesnede EncoderParameter depolanan değerlerin işaretçisini belirten üç tamsayı ile sınıfının yeni bir örneğini başlatır.

EncoderParameter(Encoder, Int32, Int32, Int32, Int32)

Belirtilen Encoder nesne ve dört, 32 bit tamsayı ile sınıfının yeni bir örneğini EncoderParameter başlatır. Dört tamsayı bir kesir aralığını temsil eder. İlk iki tamsayı aralıktaki en küçük kesri, kalan iki tamsayı ise aralıktaki en büyük kesri temsil eder. ValueType özelliğini ValueTypeRationalRangeolarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Int32[], Int32[])

Belirtilen Encoder nesne ve 32 bit tamsayılardan oluşan iki dizi ile sınıfının yeni bir örneğini EncoderParameter başlatır. İki dizi bir kesir dizisini temsil eder. ValueType özelliğini ValueTypeRationalolarak ayarlar ve özelliğini dizideki numerator öğelerin sayısıyla aynı olması gereken dizideki denominator öğe sayısına ayarlarNumberOfValues.

EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[])

Belirtilen Encoder nesne ve 32 bit tamsayılardan oluşan dört dizi ile sınıfının yeni bir örneğini EncoderParameter başlatır. Dört dizi, dizi rasyonal aralıklarını temsil eder. Rasyonel aralık, en düşük kesirli değerden maksimum kesirli değere kadar tüm kesirlerin kümesidir. ValueType özelliğini olarak ValueTypeRationalRangeayarlar ve özelliğini dizideki numerator1 öğelerin sayısına ayarlarNumberOfValues. Bu, diğer üç dizideki öğelerin sayısıyla aynı olmalıdır.

EncoderParameter(Encoder, Int64)

Belirtilen Encoder nesne ve bir 64 bit tamsayı ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeLong (32 bit) olarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Int64, Int64)

Belirtilen Encoder nesne ve 64 bit tamsayı çifti ile sınıfının yeni bir örneğini EncoderParameter başlatır. Tamsayı çifti bir tamsayı aralığını, ilk tamsayı aralıktaki en küçük sayı, ikinci tamsayı ise aralıktaki en büyük sayıdır. ValueType özelliğini ValueTypeLongRangeolarak ayarlar ve özelliğini 1 olarak ayarlarNumberOfValues.

EncoderParameter(Encoder, Int64[])

Belirtilen Encoder nesne ve 64 bit tamsayılar dizisi ile sınıfının yeni bir örneğini EncoderParameter başlatır. ValueType özelliğini ValueTypeLong (32 bit) olarak ayarlar ve özelliğini dizideki öğelerin sayısına ayarlarNumberOfValues.

EncoderParameter(Encoder, Int64[], Int64[])

Belirtilen Encoder nesne ve 64 bit tamsayılardan oluşan iki dizi ile sınıfının yeni bir örneğini EncoderParameter başlatır. İki dizi bir dizi tamsayı aralıklarını temsil eder. ValueType özelliğini ValueTypeLongRangeolarak ayarlar ve özelliğini dizideki rangebegin öğelerin sayısıyla aynı olması gereken dizideki rangeend öğe sayısına ayarlarNumberOfValues.

EncoderParameter(Encoder, String)

Belirtilen Encoder nesne ve karakter dizesiyle sınıfının yeni bir örneğini EncoderParameter başlatır. Dize, nesnede depolanmadan önce null olarak sonlandırılan bir ASCII dizesine EncoderParameter dönüştürülür. ValueType özelliğini ValueTypeAsciiolarak ayarlar ve özelliğini NULL sonlandırıcısı da dahil olmak üzere ASCII dizesinin uzunluğuna ayarlarNumberOfValues.

Özellikler

Encoder

Bu EncoderParameter nesneyle ilişkili nesneyi alır veya ayarlarEncoder. nesnesi, Encoder bu EncoderParameter nesnede depolanan parametrenin kategorisini (örneğin Quality, ColorDepthveya Compression) belirten genel benzersiz tanımlayıcıyı (GUID) kapsüller.

NumberOfValues

Bu EncoderParameter nesnede depolanan değer dizisindeki öğelerin sayısını alır.

Type

Bu EncoderParameter nesnede depolanan değerlerin veri türünü alır.

ValueType

Bu EncoderParameter nesnede depolanan değerlerin veri türünü alır.

Yöntemler

Dispose()

Bu EncoderParameter 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()

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

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)
ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.