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 = ¶meterValue;
// 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 |