EncoderParameter 클래스

정의

값 또는 값 배열을 이미지 인코더에 전달하는 데 사용됩니다.

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를 생성하는 방법을 보여 줍니다. 이 예제를 실행하려면 코드를 Windows Form에 붙여넣고 양식의 생성자에서 메서드를 호출 VaryQualityLevel 합니다. 이 예제에서는 c:\에 있는 이미지 TestPhoto.jpg 파일이 필요합니다.

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 사용하여 특정 이미지 인코더의 특정 매개 변수에서 지원하는 가능한 값 목록을 받을 수도 있습니다.

Note

.NET 6 이상 버전에서는 이 형식을 포함하는 System.Drawing.Common 패키지가 Windows 운영 체제에서만 지원됩니다. 플랫폼 간 앱에서 이 형식을 사용하면 컴파일 시간 경고 및 런타임 예외가 발생합니다. 자세한 내용은 Windows에서만 지원되는 System.Drawing.Common을 참조 하세요.

생성자

Name Description
EncoderParameter(Encoder, Byte, Boolean)

지정된 Encoder 개체와 8비트 값 하나를 사용하여 클래스의 EncoderParameter 새 인스턴스를 초기화합니다. ValueType 속성을 1 또는 ValueTypeUndefinedValueTypeByte으로 설정하고 속성을 1로 설정합니다NumberOfValues.

EncoderParameter(Encoder, Byte)

지정된 Encoder 개체와 부호 없는 8비트 정수 하나를 사용하여 클래스의 EncoderParameter 새 인스턴스를 초기화합니다. ValueType 속성을 1로 ValueTypeByte설정하고 속성을 1로 설정합니다NumberOfValues.

EncoderParameter(Encoder, Byte[], Boolean)

지정된 Encoder 개체와 바이트 배열을 EncoderParameter 사용하여 클래스의 새 인스턴스를 초기화합니다. ValueType 속성을 ValueTypeUndefined 설정하거나 ValueTypeByte배열의 NumberOfValues 요소 수로 설정합니다.

EncoderParameter(Encoder, Byte[])

지정된 Encoder 개체와 부호 없는 8비트 정수 배열을 사용하여 클래스의 새 인스턴스 EncoderParameter 를 초기화합니다. ValueType 속성을 ValueTypeByte,로 설정하고 배열의 요소 수로 속성을 설정합니다NumberOfValues.

EncoderParameter(Encoder, Int16)

지정된 Encoder 개체와 16비트 정수 하나를 사용하여 클래스의 EncoderParameter 새 인스턴스를 초기화합니다. ValueType 속성을 1로 ValueTypeShort설정하고 속성을 1로 설정합니다NumberOfValues.

EncoderParameter(Encoder, Int16[])

지정된 Encoder 개체와 16비트 정수 배열을 사용하여 클래스의 새 인스턴스 EncoderParameter 를 초기화합니다. ValueType 속성을 ValueTypeShort,로 설정하고 배열의 요소 수로 속성을 설정합니다NumberOfValues.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

지정된 Encoder 개체, 값 수, 값의 EncoderParameter 데이터 형식 및 개체에 저장된 값에 대한 포인터를 사용하여 클래스의 새 인스턴스를 EncoderParameter 초기화합니다.

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

지정된 Encoder 개체와 4개의 32비트 정수로 클래스의 EncoderParameter 새 인스턴스를 초기화합니다. 4개의 정수는 분수 범위를 나타냅니다. 처음 두 정수는 범위에서 가장 작은 분수를 나타내고 나머지 두 정수는 범위에서 가장 큰 분수를 나타냅니다. ValueType 속성을 1로 ValueTypeRationalRange설정하고 속성을 1로 설정합니다NumberOfValues.

EncoderParameter(Encoder, Int32, Int32, Int32)
사용되지 않음.
사용되지 않음.
사용되지 않음.

지정된 Encoder 개체와 값 수, 값의 EncoderParameter 데이터 형식 및 개체에 저장된 EncoderParameter 값에 대한 포인터를 지정하는 세 개의 정수를 사용하여 클래스의 새 인스턴스를 초기화합니다.

EncoderParameter(Encoder, Int32, Int32)

지정된 Encoder 개체와 32비트 정수 쌍을 사용하여 클래스의 새 인스턴스 EncoderParameter 를 초기화합니다. 정수 쌍은 분수, 첫 번째 정수는 숫자, 두 번째 정수는 분모를 나타냅니다. ValueType 속성을 1로 ValueTypeRational설정하고 속성을 1로 설정합니다NumberOfValues.

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

지정된 Encoder 개체와 32비트 정수의 EncoderParameter 4개 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 4개의 배열은 배열 합리 범위를 나타냅니다. 합리 범위는 최소 소수 값에서 최대 소수 값까지의 모든 분수 집합입니다. ValueType 속성을 설정 하 ValueTypeRationalRange고 다른 세 배열의 요소 numerator1 수와 동일 해야 하는 배열의 요소 수로 속성을 설정 NumberOfValues 합니다.

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

지정된 Encoder 개체와 32비트 정수의 EncoderParameter 두 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 두 배열은 분수 배열을 나타냅니다. 속성을 설정합니다. ValueType 이 속성 ValueTypeRationalNumberOfValues 배열의 요소 numerator 수와 같아야 하는 배열의 요소 denominator 수로 설정합니다.

EncoderParameter(Encoder, Int64, Int64)

지정된 Encoder 개체와 64비트 정수 쌍을 사용하여 클래스의 새 인스턴스 EncoderParameter 를 초기화합니다. 정수 쌍은 정수의 범위를 나타내고, 첫 번째 정수는 범위에서 가장 작은 숫자이고, 두 번째 정수는 범위에서 가장 큰 숫자를 나타냅니다. ValueType 속성을 1로 ValueTypeLongRange설정하고 속성을 1로 설정합니다NumberOfValues.

EncoderParameter(Encoder, Int64)

지정된 Encoder 개체와 64비트 정수 하나를 사용하여 클래스의 EncoderParameter 새 인스턴스를 초기화합니다. ValueType 속성을 ValueTypeLong 32비트로 설정하고 속성을 1로 설정합니다NumberOfValues.

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

지정된 Encoder 개체와 64비트 정수의 EncoderParameter 두 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 두 배열은 배열 정수 범위를 나타냅니다. 속성을 설정합니다. ValueType 이 속성 ValueTypeLongRangeNumberOfValues 배열의 요소 rangebegin 수와 같아야 하는 배열의 요소 rangeend 수로 설정합니다.

EncoderParameter(Encoder, Int64[])

지정된 Encoder 개체와 64비트 정수 배열을 사용하여 클래스의 새 인스턴스 EncoderParameter 를 초기화합니다. ValueType 속성을 ValueTypeLong 32비트로 설정하고 배열의 요소 수로 속성을 설정합니다NumberOfValues.

EncoderParameter(Encoder, String)

지정된 Encoder 개체와 문자열을 EncoderParameter 사용하여 클래스의 새 인스턴스를 초기화합니다. 문자열은 개체에 저장되기 전에 null로 끝나는 ASCII 문자열로 변환됩니다 EncoderParameter . 속성을 />로 설정하고 NULL 종결자를 포함하여 ASCII 문자열의 길이로 속성을 설정합니다.

속성

Name Description
Encoder

EncoderParameter 개체와 연결된 개체를 Encoder 가져오거나 설정합니다. 개체는 이 EncoderEncoderParameter 개체에 저장된 매개 변수의 범주(예QualityColorDepthCompression: 또는)를 지정하는 GUID(Globally Unique Identifier)를 캡슐화합니다.

NumberOfValues

EncoderParameter 개체에 저장된 값 배열의 요소 수를 가져옵니다.

Type

EncoderParameter 개체에 저장된 값의 데이터 형식을 가져옵니다.

ValueType

EncoderParameter 개체에 저장된 값의 데이터 형식을 가져옵니다.

메서드

Name Description
Dispose()

EncoderParameter 개체에서 사용하는 모든 리소스를 해제합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

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

개체가 EncoderParameter 가비지 수집을 통해 개체를 회수하기 전에 EncoderParameter 리소스를 해제하고 다른 정리 작업을 수행할 수 있습니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

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

현재 인스턴스의 Type 가져옵니다.

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

현재 Object단순 복사본을 만듭니다.

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

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보