次の方法で共有


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 フォームに貼り付け、フォームのコンストラクターから メソッドを呼び出 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 オブジェクトと 1 つの 8 ビット符号なし整数を指定して、Encoder クラスの新しいインスタンスを初期化します。 ValueType プロパティを ValueTypeByte に設定し、NumberOfValues プロパティを 1 に設定します。

EncoderParameter(Encoder, Byte, Boolean)

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

指定された Encoder オブジェクトと 32 ビット整数のペアを使って、EncoderParameter クラスの新しいインスタンスを初期化します。 整数のペアは分数を表し、最初の整数は分子、2 番目の整数は分母です。 ValueType プロパティを ValueTypeRational に設定し、NumberOfValues プロパティを 1 に設定します。

EncoderParameter(Encoder, Int32, Int32, Int32)
古い.
古い.
古い.

EncoderParameter オブジェクトと、Encoder オブジェクトに格納されている値の数、値のデータ型、および値へのポインターを指定する 3 つの整数を指定して、EncoderParameter クラスの新しいインスタンスを初期化します。

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

EncoderParameter オブジェクトと 4 つの 32 ビット整数を指定して、Encoder クラスの新しいインスタンスを初期化します。 4 つの整数は分数の範囲を表します。 最初の 2 つの整数は範囲内の最小の分数を表し、残りの 2 つの整数は範囲内の最大の分数を表します。 ValueType プロパティを ValueTypeRationalRange に設定し、NumberOfValues プロパティを 1 に設定します。

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

EncoderParameter オブジェクトと 32 ビット整数の配列 2 つを指定して、Encoder クラスの新しいインスタンスを初期化します。 2 つの配列は分数の配列を表します。 ValueType プロパティを ValueTypeRational に設定し、NumberOfValues プロパティを numerator 配列の要素数に設定します。この要素数は、denominator 配列の要素数と同じである必要があります。

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

EncoderParameter オブジェクトと 32 ビット整数の配列を 4 つ指定して、Encoder クラスの新しいインスタンスを初期化します。 4 つの配列は、有理数の範囲の配列を表します。 有理数の範囲は、最小の分数値から最大の分数値までのすべての分数のセットです。 ValueType プロパティを ValueTypeRationalRange に設定し、NumberOfValues プロパティを numerator1 配列の要素数に設定します。この要素数は、他の 3 つの配列の要素数と同じである必要があります。

EncoderParameter(Encoder, Int64)

EncoderParameter オブジェクトと 1 つの 64 ビット整数を指定して、Encoder クラスの新しいインスタンスを初期化します。 ValueType プロパティを ValueTypeLong (32 ビット) に設定し、NumberOfValues プロパティを 1 に設定します。

EncoderParameter(Encoder, Int64, Int64)

指定された Encoder オブジェクトと 64 ビット整数のペアを使用して、EncoderParameter クラスの新しいインスタンスを初期化します。 整数のペアは整数の範囲を表し、最初の整数はその範囲の最小値、2 番目の整数はその範囲の最大値です。 ValueType プロパティを ValueTypeLongRange に設定し、NumberOfValues プロパティを 1 に設定します。

EncoderParameter(Encoder, Int64[])

EncoderParameter オブジェクトと 64 ビット整数の配列を指定して、Encoder クラスの新しいインスタンスを初期化します。 ValueType プロパティを ValueTypeLong (32 ビット) に設定し、NumberOfValues プロパティを配列内の要素数に設定します。

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

EncoderParameter オブジェクトと 64 ビット整数の配列 2 つを指定して、Encoder クラスの新しいインスタンスを初期化します。 2 つの配列は整数範囲の配列を表します。 ValueType プロパティを ValueTypeLongRange に設定し、NumberOfValues プロパティを rangebegin 配列の要素数に設定します。この要素数は、rangeend 配列の要素数と同じである必要があります。

EncoderParameter(Encoder, String)

EncoderParameter オブジェクトと文字列を指定して、Encoder クラスの新しいインスタンスを初期化します。 文字列は、EncoderParameter オブジェクトに格納される前に、null で終わる ASCII 文字列に変換されます。 ValueType プロパティを ValueTypeAscii に設定し、NumberOfValues プロパティを null ターミネータを含めた ASCII 文字列の長さに設定します。

プロパティ

Encoder

この Encoder オブジェクトに関連付けられている EncoderParameter オブジェクトを取得または設定します。 Encoder オブジェクトは、この Quality オブジェクトに格納されているパラメーターのカテゴリ (たとえば、ColorDepthCompression、または EncoderParameter) を指定するグローバル一意識別子 (GUID) をカプセル化します。

NumberOfValues

この EncoderParameter オブジェクトに格納されている値の配列の要素数を取得します。

Type

この EncoderParameter オブジェクトに格納されている値のデータ型を取得します。

ValueType

この EncoderParameter オブジェクトに格納されている値のデータ型を取得します。

メソッド

Dispose()

この EncoderParameter オブジェクトによって使用されているすべてのリソースを解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()

EncoderParameter オブジェクトがガベージ コレクションによって収集される前に、その EncoderParameter オブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください