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 |