EncoderParameter EncoderParameter EncoderParameter EncoderParameter Class

定義

値、または値の配列をイメージ エンコーダーに渡すのに使用されます。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
継承
EncoderParameterEncoderParameterEncoderParameterEncoderParameter
実装

コンストラクターを使用してをEncoderParameter作成する方法を次のコード例に示します。 EncoderParameterThe following code example demonstrates how to create a EncoderParameter using the EncoderParameter constructor. この例を実行するには、Windows フォームにコードを貼り付けVaryQualityLevel 、フォームのコンストラクターからメソッドを呼び出します。To run this example, paste the code into a Windows Form and call the VaryQualityLevel method from the form's constructor. この例では、 TestPhoto.jpg c:\にあるという名前のイメージファイルが必要です。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 'VaryQualityLevel

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(Encoder, Byte) EncoderParameter(Encoder, Byte) EncoderParameter(Encoder, Byte)

EncoderParameter オブジェクトと 1 つの 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(Encoder, Byte, Boolean) EncoderParameter(Encoder, Byte, Boolean) EncoderParameter(Encoder, Byte, Boolean)

EncoderParameter オブジェクトと 1 つの 8 ビット値を指定して、Encoder クラスの新しいインスタンスを初期化します。Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 8-bit value. ValueType プロパティを ValueTypeUndefined または ValueTypeByte に設定し、NumberOfValues プロパティを 1 に設定します。Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte[]) EncoderParameter(Encoder, Byte[]) EncoderParameter(Encoder, Byte[]) 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, Byte[], Boolean) EncoderParameter(Encoder, Byte[], Boolean) 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 プロパティを ValueTypeUndefined または ValueTypeByte に設定し、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(Encoder, Int16) EncoderParameter(Encoder, Int16) EncoderParameter(Encoder, Int16)

EncoderParameter オブジェクトと 1 つの 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(Encoder, Int16[]) EncoderParameter(Encoder, Int16[]) 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, Int32, EncoderParameterValueType, IntPtr) EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) 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(Encoder, Int32, Int32) EncoderParameter(Encoder, Int32, Int32) 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. 整数のペアは分数を表し、最初の整数は分子、2 番目の整数は分母です。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, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32)

EncoderParameter オブジェクトと、Encoder オブジェクトに格納されている値の数、値のデータ型、および値へのポインターを指定する 3 つの整数を指定して、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(Encoder, Int32, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32, Int32)

EncoderParameter オブジェクトと 4 つの 32 ビット整数を指定して、Encoder クラスの新しいインスタンスを初期化します。Initializes a new instance of the EncoderParameter class with the specified Encoder object and four, 32-bit integers. 4 つの整数は分数の範囲を表します。The four integers represent a range of fractions. 最初の 2 つの整数は範囲内の最小の分数を表し、残りの 2 つの整数は範囲内の最大の分数を表します。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(Encoder, Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[])

EncoderParameter オブジェクトと 32 ビット整数の配列 2 つを指定して、Encoder クラスの新しいインスタンスを初期化します。Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 32-bit integers. 2 つの配列は分数の配列を表します。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(Encoder, Int32[], Int32[], Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[])

EncoderParameter オブジェクトと 32 ビット整数の配列を 4 つ指定して、Encoder クラスの新しいインスタンスを初期化します。Initializes a new instance of the EncoderParameter class with the specified Encoder object and four arrays of 32-bit integers. 4 つの配列は、有理数の範囲の配列を表します。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 配列の要素数に設定します。この要素数は、他の 3 つの配列の要素数と同じである必要があります。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(Encoder, Int64) EncoderParameter(Encoder, Int64) EncoderParameter(Encoder, Int64)

EncoderParameter オブジェクトと 1 つの 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) EncoderParameter(Encoder, Int64, Int64) EncoderParameter(Encoder, Int64, Int64) 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. 整数のペアは整数の範囲を表し、最初の整数はその範囲の最小値、2 番目の整数はその範囲の最大値です。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[]) EncoderParameter(Encoder, Int64[]) EncoderParameter(Encoder, Int64[]) EncoderParameter(Encoder, Int64[])

EncoderParameter オブジェクトと 64 ビット整数の配列を指定して、Encoder クラスの新しいインスタンスを初期化します。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[]) EncoderParameter(Encoder, Int64[], Int64[]) EncoderParameter(Encoder, Int64[], Int64[]) EncoderParameter(Encoder, Int64[], Int64[])

EncoderParameter オブジェクトと 64 ビット整数の配列 2 つを指定して、Encoder クラスの新しいインスタンスを初期化します。Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 64-bit integers. 2 つの配列は整数範囲の配列を表します。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, String) EncoderParameter(Encoder, String) 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 Encoder Encoder

この Encoder オブジェクトに関連付けられている EncoderParameter オブジェクトを取得または設定します。Gets or sets the Encoder object associated with this EncoderParameter object. Encoder オブジェクトは、この Quality オブジェクトに格納されているパラメーターのカテゴリ (たとえば、ColorDepthCompression、または EncoderParameter) を指定するグローバル一意識別子 (GUID) をカプセル化します。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 NumberOfValues NumberOfValues NumberOfValues

この EncoderParameter オブジェクトに格納されている値の配列の要素数を取得します。Gets the number of elements in the array of values stored in this EncoderParameter object.

Type Type Type Type

この EncoderParameter オブジェクトに格納されている値のデータ型を取得します。Gets the data type of the values stored in this EncoderParameter object.

ValueType ValueType ValueType ValueType

この EncoderParameter オブジェクトに格納されている値のデータ型を取得します。Gets the data type of the values stored in this EncoderParameter object.

メソッド

Dispose() Dispose() Dispose() Dispose()

この EncoderParameter オブジェクトによって使用されているすべてのリソースを解放します。Releases all resources used by this EncoderParameter object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() 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() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください