다음을 통해 공유


Image::Save(constWCHAR*,constCLSID*,constEncoderParameters*) 메서드(gdiplusheaders.h)

Image::Save 메서드는 이 이미지를 파일에 저장합니다.

구문

Status Save(
  const WCHAR             *filename,
  const CLSID             *clsidEncoder,
  const EncoderParameters *encoderParams
);

매개 변수

filename

저장된 이미지의 경로 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

clsidEncoder

이미지를 저장하는 데 사용할 인코더를 지정하는 CLSID에 대한 포인터입니다.

encoderParams

선택 사항입니다. 인코더에서 사용하는 매개 변수를 보유하는 EncoderParameters 개체에 대한 포인터입니다. 기본값은 NULL입니다.

반환 값

형식: 상태

메서드가 성공하면 Status 열거형의 요소인 확인을 반환합니다.

메서드가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.

설명

GDI+는 이미지를 생성하는 데 사용한 것과 동일한 파일에 이미지를 저장할 수 없습니다. 다음 코드는 이미지 생성자에 파일 이름을 MyImage.jpg 전달하여 Image 개체를 만듭니다. 동일한 파일 이름이 Image 개체의 Image::Save 메서드에 전달되므로 Image::Save 메서드가 실패합니다.

Image image(L"myImage.jpg");

// Do other operations.

// Save the image to the same file name. (This operation will fail.)
image.Save(L"myImage.jpg", ...);

예제

다음 예제에서는 PNG 파일에서 Image 개체를 만든 다음 해당 Image 개체를 기반으로 Graphics 개체를 만듭니다. 코드는 이미지를 그리고, 이미지를 변경하고, 이미지를 다시 그립니다. 마지막으로 코드는 변경된 이미지를 파일에 저장합니다.

이 코드는 도우미 함수인 GetEncoderClsid를 사용하여 PNG 인코더에 대한 클래스 식별자를 가져옵니다. GetEncoderClsid 함수는 인코더에 대한 클래스 식별자 검색에 표시됩니다.

이미지를 기반으로 그래픽 개체를 생성하는 기술은 특정 이미지 형식에 대해서만 작동합니다. 예를 들어 픽셀당 색 깊이가 4비트인 이미지를 기반으로 Graphics 개체를 생성할 수 없습니다. 그래픽 생성자가 지원하는 형식에 대한 자세한 내용은 그래픽을 참조하세요.

VOID Example_SaveFile(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a PNG file.
   Image  image(L"Mosaic.png");

   // Draw the image.
   graphics.DrawImage(&image, 10, 10);

   // Construct a Graphics object based on the image.
   Graphics imageGraphics(&image);

   // Alter the image.
   SolidBrush brush(Color(255, 0, 0, 255));
   imageGraphics.FillEllipse(&brush, 20, 30, 80, 50);

   // Draw the altered image.
   graphics.DrawImage(&image, 200, 10);

   // Save the altered image.
   CLSID pngClsid;
   GetEncoderClsid(L"image/png", &pngClsid);
   image.Save(L"Mosaic2.png", &pngClsid, NULL);
}

요구 사항

요구 사항
헤더 gdiplusheaders.h

추가 정보

이미지

EncoderParameter

EncoderParameters

GetImageEncoders

이미지::Save 메서드

이미지::SaveAdd 메서드

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