EncoderParameter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
값 또는 값 배열을 이미지 인코더에 전달하는 데 사용됩니다.
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고 다른 세 배열의 요소 |
| EncoderParameter(Encoder, Int32[], Int32[]) |
지정된 Encoder 개체와 32비트 정수의 EncoderParameter 두 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 두 배열은 분수 배열을 나타냅니다. 속성을 설정합니다. ValueType 이 속성 ValueTypeRational은 NumberOfValues 배열의 요소 |
| 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 이 속성 ValueTypeLongRange은 NumberOfValues 배열의 요소 |
| EncoderParameter(Encoder, Int64[]) |
지정된 Encoder 개체와 64비트 정수 배열을 사용하여 클래스의 새 인스턴스 EncoderParameter 를 초기화합니다. ValueType 속성을 ValueTypeLong 32비트로 설정하고 배열의 요소 수로 속성을 설정합니다NumberOfValues. |
| EncoderParameter(Encoder, String) |
지정된 Encoder 개체와 문자열을 EncoderParameter 사용하여 클래스의 새 인스턴스를 초기화합니다. 문자열은 개체에 저장되기 전에 null로 끝나는 ASCII 문자열로 변환됩니다 EncoderParameter . 속성을 |
속성
| 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) |