Image::SaveAdd(constEncoderParameters*) 메서드(gdiplusheaders.h)
Image::SaveAdd 메서드는 Save 메서드에 대한 이전 호출에서 지정된 파일 또는 스트림에 프레임을 추가합니다. 이 메서드를 사용하여 다중 프레임 이미지에서 선택한 프레임을 다른 다중 프레임 이미지에 저장합니다.
구문
Status SaveAdd(
const EncoderParameters *encoderParams
);
매개 변수
encoderParams
save-add 작업에 사용되는 이미지 인코더에 필요한 매개 변수를 보유하는 EncoderParameters 개체에 대한 포인터입니다.
반환 값
형식: 상태
메서드가 성공하면 Status 열거형의 요소인 확인을 반환합니다.
메서드가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.
설명
예제
다음 예제에서는 4개의 프레임이 있는 TIFF 파일을 기반으로 Image 개체를 만듭니다.
코드는 Image::SelectActiveFrame 메서드를 호출하여 해당 Image 개체의 페이지 차원에 있는 두 번째 프레임으로 이동합니다.
(이 경우 페이지 차원이 유일한 차원입니다.) 그런 다음, 코드는 Save 메서드를 호출하여 두 번째 프레임을 라는 TwoFrames.tif
새 파일에 저장합니다.
이 코드는 Image::SelectActiveFrame 메서드를 다시 호출하여 Image 개체의 네 번째 프레임으로 이동합니다.
그런 다음, 코드는 Image::SaveAdd 메서드를 호출하여 네 번째 프레임을 에 추가합니다 TwoFrames.tif
.
코드는 Image::SaveAdd 메서드를 두 번째로 호출하여 를 닫 TwoFrames.tif
은 다음, 해당 파일에 저장된 두 프레임을 그립니다.
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);
}
요구 사항
머리글 | gdiplusheaders.h |