次の方法で共有


Image::SaveAdd(constEncoderParameters*) メソッド (gdiplusheaders.h)

Image::SaveAdd メソッドは、Save メソッドの以前の呼び出しで指定されたファイルまたはストリームにフレームを追加します。 このメソッドは、多重フレーム イメージから選択したフレームを別の多重フレーム イメージに保存する場合に使用します。

構文

Status SaveAdd(
  const EncoderParameters *encoderParams
);

パラメーター

encoderParams

save-add 操作で使用されるイメージ エンコーダーで必要なパラメーターを保持する EncoderParameters オブジェクトへのポインター。

戻り値

種類: 状態

メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

解説

次の例では、4 つのフレームを持つ TIFF ファイルに基づいて Image オブジェクトを作成します。 このコードでは 、Image::SelectActiveFrame メソッドを呼び出して、その Image オブジェクトのページ ディメンションの 2 番目のフレームに移動します。 (この場合、ページ ディメンションは唯一のディメンションです)。次に、コードは Save メソッドを呼び出して、2 番目のフレームを という名前 TwoFrames.tifの新しいファイルに保存します。 このコードでは、 Image::SelectActiveFrame メソッドをもう一度呼び出して、Image オブジェクトの 4 番目のフレームに移動します。 次に、 Image::SaveAdd メソッドを呼び出して、4 番目のフレームを に TwoFrames.tif追加します。 このコードでは 、Image::SaveAdd メソッドを 2 回目に呼び出して を閉じ TwoFrames.tif、そのファイルに保存された 2 つのフレームを描画します。

VOID Example_SaveAdd(HDC hdc)
{
   Graphics graphics(hdc);
   EncoderParameters encoderParameters;
   ULONG parameterValue;
   GUID dimension = FrameDimensionPage;

   // An EncoderParameters object has an array of
   // EncoderParameter objects. In this case, there is only
   // one EncoderParameter object in the array.
   encoderParameters.Count = 1;

   // Initialize the one EncoderParameter object.
   encoderParameters.Parameter[0].Guid = EncoderSaveFlag;
   encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
   encoderParameters.Parameter[0].NumberOfValues = 1;
   encoderParameters.Parameter[0].Value = &parameterValue;

   // Get the CLSID of the TIFF encoder.
   CLSID encoderClsid;
   GetEncoderClsid(L"image/tiff", &encoderClsid);

   // Create an image object based on a TIFF file that has four frames.
   Image fourFrames(L"FourFrames.tif");

   // Save the second page (frame).
   parameterValue = EncoderValueMultiFrame;
   fourFrames.SelectActiveFrame(&dimension, 1);
   fourFrames.Save(L"TwoFrames.tif", &encoderClsid, &encoderParameters);

   // Save the fourth page (frame).
   parameterValue = EncoderValueFrameDimensionPage;
   fourFrames.SelectActiveFrame(&dimension, 3);
   fourFrames.SaveAdd(&encoderParameters);

   // Close the multiframe file.
   parameterValue = EncoderValueFlush;
   fourFrames.SaveAdd(&encoderParameters);

   // Draw the two frames of TwoFrames.tif.
   Image twoFrames(L"TwoFrames.tif");
   twoFrames.SelectActiveFrame(&dimension, 0);
   graphics.DrawImage(&twoFrames, 10, 10);
   twoFrames.SelectActiveFrame(&dimension, 1);
   graphics.DrawImage(&twoFrames, 150, 10);
}

必要条件

   
Header gdiplusheaders.h

関連項目

イメージ

EncoderParameter

EncoderParameters

GetImageEncoders

Image::Save メソッド

Image::SaveAdd メソッド

イメージ エンコーダーとデコーダーの使用