Share via


EncoderParameter Kelas

Definisi

Digunakan untuk meneruskan nilai, atau array nilai, ke encoder gambar.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Warisan
EncoderParameter
Penerapan

Contoh

Contoh kode berikut menunjukkan cara membuat EncoderParameter menggunakan EncoderParameter konstruktor. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil VaryQualityLevel metode dari konstruktor formulir. Contoh ini memerlukan file gambar bernama TestPhoto.jpg yang terletak di c:\.

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

Keterangan

Anda juga dapat menggunakan EncoderParameter objek untuk menerima daftar nilai yang mungkin didukung oleh parameter tertentu dari encoder gambar tertentu.

Catatan

Dalam .NET 6 dan versi yang lebih baru, paket System.Drawing.Common, yang mencakup jenis ini, hanya didukung pada sistem operasi Windows. Penggunaan jenis ini dalam aplikasi lintas platform menyebabkan peringatan waktu kompilasi dan pengecualian run-time. Untuk informasi selengkapnya, lihat System.Drawing.Common hanya didukung di Windows.

Konstruktor

EncoderParameter(Encoder, Byte)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan satu bilangan bulat 8-bit yang tidak ditandatangani. ValueType Mengatur properti ke ValueTypeByte, dan mengatur properti ke NumberOfValues 1.

EncoderParameter(Encoder, Byte, Boolean)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan satu nilai 8-bit. Mengatur properti ke ValueTypeValueTypeUndefined atau ValueTypeByte, dan mengatur properti ke NumberOfValues 1.

EncoderParameter(Encoder, Byte[])

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan array bilangan bulat 8-bit yang tidak ditandatangani. ValueType Mengatur properti ke ValueTypeByte, dan mengatur NumberOfValues properti ke jumlah elemen dalam array.

EncoderParameter(Encoder, Byte[], Boolean)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan array byte. ValueType Mengatur properti ke ValueTypeUndefined atau ValueTypeByte, dan mengatur NumberOfValues properti ke jumlah elemen dalam array.

EncoderParameter(Encoder, Int16)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan satu, bilangan bulat 16-bit. ValueType Mengatur properti ke ValueTypeShort, dan mengatur properti ke NumberOfValues 1.

EncoderParameter(Encoder, Int16[])

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan array bilangan bulat 16-bit. ValueType Mengatur properti ke ValueTypeShort, dan mengatur NumberOfValues properti ke jumlah elemen dalam array.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder , jumlah nilai, jenis data nilai, dan penunjuk ke nilai yang disimpan dalam EncoderParameter objek.

EncoderParameter(Encoder, Int32, Int32)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan sepasang bilangan bulat 32-bit. Sepasang bilangan bulat mewakili pecahan, bilangan bulat pertama adalah pembilang, dan bilangan bulat kedua menjadi penyebar. ValueType Mengatur properti ke ValueTypeRational, dan mengatur properti ke NumberOfValues 1.

EncoderParameter(Encoder, Int32, Int32, Int32)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan tiga bilangan bulat yang menentukan jumlah nilai, jenis data nilai, dan penunjuk ke nilai yang disimpan dalam EncoderParameter objek.

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

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan empat bilangan bulat 32-bit. Empat bilangan bulat mewakili rentang pecahan. Dua bilangan bulat pertama mewakili pecahan terkecil dalam rentang, dan dua bilangan bulat yang tersisa mewakili pecahan terbesar dalam rentang. ValueType Mengatur properti ke ValueTypeRationalRange, dan mengatur properti ke NumberOfValues 1.

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

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan dua array bilangan bulat 32-bit. Dua array mewakili array pecahan. ValueType Mengatur properti ke ValueTypeRational, dan mengatur NumberOfValues properti ke jumlah elemen dalam numerator array, yang harus sama dengan jumlah elemen dalam denominator array.

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

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan empat array bilangan bulat 32-bit. Empat array mewakili rentang rasional array. Rentang rasional adalah sekumpulan semua pecahan dari nilai pecahan minimum melalui nilai pecahan maksimum. ValueType Mengatur properti ke ValueTypeRationalRange, dan mengatur NumberOfValues properti ke jumlah elemen dalam numerator1 array, yang harus sama dengan jumlah elemen di tiga array lainnya.

EncoderParameter(Encoder, Int64)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan satu bilangan bulat 64-bit. Mengatur properti ke ValueTypeValueTypeLong (32 bit), dan mengatur properti ke NumberOfValues 1.

EncoderParameter(Encoder, Int64, Int64)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan sepasang bilangan bulat 64-bit. Sepasang bilangan bulat mewakili rentang bilangan bulat, bilangan bulat pertama adalah angka terkecil dalam rentang, dan bilangan bulat kedua menjadi angka terbesar dalam rentang. ValueType Mengatur properti ke ValueTypeLongRange, dan mengatur properti ke NumberOfValues 1.

EncoderParameter(Encoder, Int64[])

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan array bilangan bulat 64-bit. Mengatur properti ke ValueTypeValueTypeLong (32-bit), dan mengatur NumberOfValues properti ke jumlah elemen dalam array.

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

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan dua array bilangan bulat 64-bit. Dua array mewakili rentang bilangan bulat array. ValueType Mengatur properti ke ValueTypeLongRange, dan mengatur NumberOfValues properti ke jumlah elemen dalam rangebegin array, yang harus sama dengan jumlah elemen dalam rangeend array.

EncoderParameter(Encoder, String)

Menginisialisasi instans EncoderParameter baru kelas dengan objek yang ditentukan Encoder dan string karakter. String dikonversi ke string ASCII yang dihentikan null sebelum disimpan dalam EncoderParameter objek . ValueType Mengatur properti ke ValueTypeAscii, dan mengatur NumberOfValues properti ke panjang string ASCII termasuk terminator NULL.

Properti

Encoder

Mendapatkan atau menyetel objek yang Encoder terkait dengan objek ini EncoderParameter . Objek Encoder merangkum pengidentifikasi unik global (GUID) yang menentukan kategori (misalnya Quality, , ColorDepthatau Compression) dari parameter yang disimpan dalam objek ini EncoderParameter .

NumberOfValues

Mendapatkan jumlah elemen dalam array nilai yang disimpan dalam objek ini EncoderParameter .

Type

Mendapatkan tipe data dari nilai yang disimpan dalam objek ini EncoderParameter .

ValueType

Mendapatkan tipe data dari nilai yang disimpan dalam objek ini EncoderParameter .

Metode

Dispose()

Melepaskan semua sumber daya yang digunakan oleh objek ini EncoderParameter .

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

EncoderParameter Memungkinkan objek untuk mencoba membebaskan sumber daya dan melakukan operasi pembersihan lainnya sebelum EncoderParameter objek diklaim kembali oleh pengumpulan sampah.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga