EncoderParameter 클래스

정의

값 또는 값 배열을 이미지 인코더에 전달하는 데 사용됩니다.Used to pass a value, or an array of values, to an image encoder.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
상속
EncoderParameter
구현

예제

다음 코드 예제에서는 EncoderParameter 생성자를 사용 하 여 EncoderParameter을 만드는 방법을 보여 줍니다.The following code example demonstrates how to create a EncoderParameter using the EncoderParameter constructor. 이 예제를 실행 하려면 코드를 Windows Form에 붙여넣고 폼의 생성자에서 VaryQualityLevel 메서드를 호출 합니다.To run this example, paste the code into a Windows Form and call the VaryQualityLevel method from the form's constructor. 이 예제에는 **c:\**에 있는 TestPhoto.jpg 이라는 이미지 파일이 필요 합니다.This example requires an image file named TestPhoto.jpg located at 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

설명

또한 EncoderParameter 개체를 사용 하 여 특정 이미지 인코더의 특정 매개 변수에서 지 원하는 가능한 값 목록을 받을 수 있습니다.You can also use an EncoderParameter object to receive a list of possible values supported by a particular parameter of a particular image encoder.

생성자

EncoderParameter(Encoder, Byte)

지정된 EncoderParameter 개체 및 부호 없는 8비트 정수 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one unsigned 8-bit integer. ValueType 속성은 ValueTypeByte로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte, Boolean)

지정된 EncoderParameter 개체 및 8비트 값 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 8-bit value. ValueType 속성은 ValueTypeUndefinedValueTypeByte로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte[])

지정된 EncoderParameter 개체 및 부호 없는 8비트 정수의 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of unsigned 8-bit integers. ValueType 속성은 ValueTypeByte로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다.Sets the ValueType property to ValueTypeByte, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Byte[], Boolean)

지정된 EncoderParameter 개체 및 바이트의 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of bytes. ValueType 속성은 ValueTypeUndefinedValueTypeByte로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다.Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Int16)

지정된 EncoderParameter 개체 및 16비트 정수 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one, 16-bit integer. ValueType 속성은 ValueTypeShort로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeShort, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int16[])

지정된 EncoderParameter 개체 및 16비트 정수의 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 16-bit integers. ValueType 속성은 ValueTypeShort로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다.Sets the ValueType property to ValueTypeShort, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

지정된 EncoderParameter 개체, 값의 개수, 값의 데이터 형식 및 Encoder 개체에 저장된 값에 대한 포인터를 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object, number of values, data type of the values, and a pointer to the values stored in the EncoderParameter object.

EncoderParameter(Encoder, Int32, Int32)

지정된 EncoderParameter 개체 및 32비트 정수 쌍을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 32-bit integers. 정수 쌍은 분수를 나타냅니다. 첫째 정수는 분자이고 둘째 정수는 분모입니다.The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. ValueType 속성은 ValueTypeRational로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeRational, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int32, Int32, Int32)

지정된 EncoderParameter 개체와 값의 개수, 값의 데이터 형식 및 Encoder 개체에 저장된 값에 대한 포인터를 지정하는 세 개의 정수를 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and three integers that specify the number of values, the data type of the values, and a pointer to the values stored in the EncoderParameter object.

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

지정된 EncoderParameter 개체 및 32비트 정수 네 개를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four, 32-bit integers. 네 개의 정수는 분수의 범위를 나타냅니다.The four integers represent a range of fractions. 처음 두 정수는 범위의 최소 분수값을 나타내며 나머지 두 정수는 최대 분수값을 나타냅니다.The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. ValueType 속성은 ValueTypeRationalRange로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeRationalRange, and sets the NumberOfValues property to 1.

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

지정된 EncoderParameter 개체 및 32비트 정수의 두 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 32-bit integers. 두 배열은 분수의 배열을 나타냅니다.The two arrays represent an array of fractions. ValueType 속성은 ValueTypeRational로 설정하고, NumberOfValues 속성은 numerator 배열에 있는 요소의 개수로 설정합니다. 이 개수는 denominator 배열에 있는 요소의 개수와 같아야 합니다.Sets the ValueType property to ValueTypeRational, and sets the NumberOfValues property to the number of elements in the numerator array, which must be the same as the number of elements in the denominator array.

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

지정된 EncoderParameter 개체 및 32비트 정수의 네 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four arrays of 32-bit integers. 네 배열은 배열의 유리수 범위를 나타냅니다.The four arrays represent an array rational ranges. 유리수 범위는 최소 분수값에서 최대 분수값에 이르는 모든 분수 집합입니다.A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. ValueType 속성은 ValueTypeRationalRange로 설정하고, NumberOfValues 속성은 numerator1 배열에 있는 요소의 개수로 설정합니다. 이 개수는 다른 세 개의 배열에 있는 요소의 개수와 같아야 합니다.Sets the ValueType property to ValueTypeRationalRange, and sets the NumberOfValues property to the number of elements in the numerator1 array, which must be the same as the number of elements in the other three arrays.

EncoderParameter(Encoder, Int64)

지정된 EncoderParameter 개체 및 64비트 정수 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 64-bit integer. ValueType 속성은 ValueTypeLong(32비트)으로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeLong (32 bits), and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int64, Int64)

지정된 Encoder 개체 및 64비트 정수 쌍을 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 64-bit integers. 정수 쌍은 정수의 범위를 나타냅니다. 첫째 정수는 범위의 최소값이며 둘째 정수는 최대값입니다.The pair of integers represents a range of integers, the first integer being the smallest number in the range, and the second integer being the largest number in the range. ValueType 속성은 ValueTypeLongRange로 설정하고, NumberOfValues 속성은 1로 설정합니다.Sets the ValueType property to ValueTypeLongRange, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int64[])

지정된 Encoder 개체 및 64비트 정수의 배열을 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 64-bit integers. ValueType 속성은 ValueTypeLong(32비트)으로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다.Sets the ValueType property to ValueTypeLong (32-bit), and sets the NumberOfValues property to the number of elements in the array.

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

지정된 Encoder 개체 및 64비트 정수의 두 배열을 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 64-bit integers. 두 배열은 배열의 정수 범위를 나타냅니다.The two arrays represent an array integer ranges. ValueType 속성은 ValueTypeLongRange로 설정하고, NumberOfValues 속성은 rangebegin 배열에 있는 요소의 개수로 설정합니다. 이 개수는 rangeend 배열에 있는 요소의 개수와 같아야 합니다.Sets the ValueType property to ValueTypeLongRange, and sets the NumberOfValues property to the number of elements in the rangebegin array, which must be the same as the number of elements in the rangeend array.

EncoderParameter(Encoder, String)

지정된 EncoderParameter 개체 및 문자열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a character string. 이 문자열은 EncoderParameter 개체에 저장되기 전에 null로 종료되는 ASCII 문자열로 변환됩니다.The string is converted to a null-terminated ASCII string before it is stored in the EncoderParameter object. ValueType 속성은 ValueTypeAscii로 설정하고, NumberOfValues 속성은 NULL 종결자를 포함하는 ASCII 문자열의 길이로 설정합니다.Sets the ValueType property to ValueTypeAscii, and sets the NumberOfValues property to the length of the ASCII string including the NULL terminator.

속성

Encoder

Encoder 개체와 관련된 EncoderParameter 개체를 가져오거나 설정합니다.Gets or sets the Encoder object associated with this EncoderParameter object. Encoder 개체는 이 Quality 개체에 저장된 매개 변수의 범주(예: ColorDepth, Compression 또는 EncoderParameter)를 지정하는 GUID(Globally Unique Identifier)를 캡슐화합니다.The Encoder object encapsulates the globally unique identifier (GUID) that specifies the category (for example Quality, ColorDepth, or Compression) of the parameter stored in this EncoderParameter object.

NumberOfValues

EncoderParameter 개체에 저장된 값의 배열에 있는 요소의 개수를 가져옵니다.Gets the number of elements in the array of values stored in this EncoderParameter object.

Type

EncoderParameter 개체에 저장된 값의 데이터 형식을 가져옵니다.Gets the data type of the values stored in this EncoderParameter object.

ValueType

EncoderParameter 개체에 저장된 값의 데이터 형식을 가져옵니다.Gets the data type of the values stored in this EncoderParameter object.

메서드

Dispose()

EncoderParameter 개체에서 사용하는 리소스를 모두 해제합니다.Releases all resources used by this EncoderParameter object.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Finalize()

가비지 수집기에서 EncoderParameter 개체 회수하기 전에 EncoderParameter 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다.Allows an EncoderParameter object to attempt to free resources and perform other cleanup operations before the EncoderParameter object is reclaimed by garbage collection.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

적용 대상

추가 정보