다음을 통해 공유


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 = &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);
}

요구 사항

   
머리글 gdiplusheaders.h

참고 항목

이미지

EncoderParameter

EncoderParameters

GetImageEncoders

이미지::Save 메서드

이미지::SaveAdd 메서드

이미지 인코더 및 디코더 사용