次の方法で共有


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 列挙の要素である Ok を返します。

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

注釈

GDI+ では、イメージの作成に使用したのと同じファイルにイメージを保存することはできません。 次のコードでは、 Image コンストラクターにファイル名 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 関数は、エンコーダーのクラス識別子の取得に関するページに示されています

画像に基づいて Graphics オブジェクトを構築する手法は、特定の画像形式でのみ機能します。 たとえば、ピクセルあたり 4 ビットの色深度を持つイメージに基づいて Graphics オブジェクトを作成することはできません。 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);
}

要件

要件
Header gdiplusheaders.h

こちらもご覧ください

Image

EncoderParameter

EncoderParameters

GetImageEncoders

Image::Save メソッド

Image::SaveAdd メソッド

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