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 사용하여 특정 이미지 인코더의 특정 매개 변수에서 지원하는 가능한 값 목록을 받을 수도 있습니다.
참고
.NET 6 이상 버전에서는 이 형식을 포함하는 System.Drawing.Common 패키지가 Windows 운영 체제에서만 지원됩니다. 플랫폼 간 앱에서 이 형식을 사용하면 컴파일 시간 경고 및 런타임 예외가 발생합니다. 자세한 내용은 Windows에서만 지원되는 System.Drawing.Common을 참조하세요.
생성자
EncoderParameter(Encoder, Byte) |
지정된 EncoderParameter 개체 및 부호 없는 8비트 정수 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성을 ValueTypeByte로 설정하고 NumberOfValues 속성을 1로 설정합니다. |
EncoderParameter(Encoder, Byte, Boolean) |
지정된 EncoderParameter 개체 및 8비트 값 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성은 ValueTypeUndefined나 ValueTypeByte로 설정하고, NumberOfValues 속성은 1로 설정합니다. |
EncoderParameter(Encoder, Byte[]) |
지정된 EncoderParameter 개체 및 부호 없는 8비트 정수의 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성은 ValueTypeByte로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다. |
EncoderParameter(Encoder, Byte[], Boolean) |
지정된 EncoderParameter 개체 및 바이트의 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성은 ValueTypeUndefined나 ValueTypeByte로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다. |
EncoderParameter(Encoder, Int16) |
지정된 EncoderParameter 개체 및 16비트 정수 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성을 ValueTypeShort로 설정하고 NumberOfValues 속성을 1로 설정합니다. |
EncoderParameter(Encoder, Int16[]) |
지정된 EncoderParameter 개체 및 16비트 정수의 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성은 ValueTypeShort로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다. |
EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) |
지정된 EncoderParameter 개체, 값의 개수, 값의 데이터 형식 및 Encoder 개체에 저장된 값에 대한 포인터를 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다. |
EncoderParameter(Encoder, Int32, Int32) |
지정된 EncoderParameter 개체 및 32비트 정수 쌍을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. 정수 쌍은 분수를 나타냅니다. 첫째 정수는 분자이고 둘째 정수는 분모입니다. ValueType 속성을 ValueTypeRational로 설정하고 NumberOfValues 속성을 1로 설정합니다. |
EncoderParameter(Encoder, Int32, Int32, Int32) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
지정된 EncoderParameter 개체와 값의 개수, 값의 데이터 형식 및 Encoder 개체에 저장된 값에 대한 포인터를 지정하는 세 개의 정수를 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다. |
EncoderParameter(Encoder, Int32, Int32, Int32, Int32) |
지정된 EncoderParameter 개체 및 32비트 정수 네 개를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. 네 개의 정수는 분수의 범위를 나타냅니다. 처음 두 정수는 범위의 최소 분수값을 나타내며 나머지 두 정수는 최대 분수값을 나타냅니다. ValueType 속성을 ValueTypeRationalRange로 설정하고 NumberOfValues 속성을 1로 설정합니다. |
EncoderParameter(Encoder, Int32[], Int32[]) |
지정된 EncoderParameter 개체 및 32비트 정수의 두 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. 두 배열은 분수의 배열을 나타냅니다. ValueType 속성은 ValueTypeRational로 설정하고, NumberOfValues 속성은 |
EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) |
지정된 EncoderParameter 개체 및 32비트 정수의 네 배열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. 네 배열은 배열의 유리수 범위를 나타냅니다. 유리수 범위는 최소 분수값에서 최대 분수값에 이르는 모든 분수 집합입니다. ValueType 속성은 ValueTypeRationalRange로 설정하고, NumberOfValues 속성은 |
EncoderParameter(Encoder, Int64) |
지정된 EncoderParameter 개체 및 64비트 정수 하나를 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. ValueType 속성은 ValueTypeLong(32비트)으로 설정하고, NumberOfValues 속성은 1로 설정합니다. |
EncoderParameter(Encoder, Int64, Int64) |
지정된 Encoder 개체 및 64비트 정수 쌍을 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다. 정수 쌍은 정수의 범위를 나타냅니다. 첫째 정수는 범위의 최소값이며 둘째 정수는 최대값입니다. ValueType 속성을 ValueTypeLongRange로 설정하고 NumberOfValues 속성을 1로 설정합니다. |
EncoderParameter(Encoder, Int64[]) |
지정된 Encoder 개체 및 64비트 정수의 배열을 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다. ValueType 속성은 ValueTypeLong(32비트)으로 설정하고, NumberOfValues 속성은 배열에 있는 요소의 개수로 설정합니다. |
EncoderParameter(Encoder, Int64[], Int64[]) |
지정된 Encoder 개체 및 64비트 정수의 두 배열을 사용하여 EncoderParameter 클래스의 새 인스턴스를 초기화합니다. 두 배열은 배열의 정수 범위를 나타냅니다. ValueType 속성은 ValueTypeLongRange로 설정하고, NumberOfValues 속성은 |
EncoderParameter(Encoder, String) |
지정된 EncoderParameter 개체 및 문자열을 사용하여 Encoder 클래스의 새 인스턴스를 초기화합니다. 이 문자열은 EncoderParameter 개체에 저장되기 전에 null로 종료되는 ASCII 문자열로 변환됩니다. ValueType 속성은 ValueTypeAscii로 설정하고, NumberOfValues 속성은 NULL 종결자를 포함하는 ASCII 문자열의 길이로 설정합니다. |
속성
Encoder |
이 Encoder 개체와 관련된 EncoderParameter 개체를 가져오거나 설정합니다. Encoder 개체는 이 Quality 개체에 저장된 매개 변수의 범주(예: ColorDepth, Compression 또는 EncoderParameter)를 지정하는 GUID(Globally Unique Identifier)를 캡슐화합니다. |
NumberOfValues |
이 EncoderParameter 개체에 저장된 값의 배열에 있는 요소의 개수를 가져옵니다. |
Type |
이 EncoderParameter 개체에 저장된 값의 데이터 형식을 가져옵니다. |
ValueType |
이 EncoderParameter 개체에 저장된 값의 데이터 형식을 가져옵니다. |
메서드
Dispose() |
이 EncoderParameter 개체에서 사용하는 리소스를 모두 해제합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Finalize() |
가비지 수집기에서 EncoderParameter 개체 회수하기 전에 EncoderParameter 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
추가 정보
.NET