Image::Save(constWCHAR*,constCLSID*,constEncoderParameters*) (gdiplusheaders.h)
El método Image::Save guarda esta imagen en un archivo.
Sintaxis
Status Save(
const WCHAR *filename,
const CLSID *clsidEncoder,
const EncoderParameters *encoderParams
);
Parámetros
filename
Puntero a una cadena terminada en null que especifica el nombre de ruta de acceso de la imagen guardada.
clsidEncoder
Puntero a un CLSID que especifica el codificador que se va a usar para guardar la imagen.
encoderParams
Opcional. Puntero a un objeto EncoderParameters que contiene los parámetros usados por el codificador. El valor predeterminado es NULL.
Valor devuelto
Tipo: Estado
Si el método se realiza correctamente, devuelve Ok, que es un elemento de la enumeración Status .
Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .
Comentarios
GDI+ no permite guardar una imagen en el mismo archivo que usó para construir la imagen.
El código siguiente crea un objeto Image pasando el nombre MyImage.jpg
de archivo a un constructor Image .
Ese mismo nombre de archivo se pasa al método Image::Save del objeto Image, por lo que se produce un error en el método 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", ...);
Ejemplos
En el ejemplo siguiente se crea un objeto Image a partir de un archivo PNG y, a continuación, se crea un objeto Graphics basado en ese objeto Image . El código dibuja la imagen, modifica la imagen y vuelve a dibujarla. Por último, el código guarda la imagen modificada en un archivo.
El código se basa en una función auxiliar, GetEncoderClsid, para obtener el identificador de clase del codificador PNG. La función GetEncoderClsid se muestra en Recuperación del identificador de clase para un codificador.
La técnica de construir un objeto Graphics basado en una imagen solo funciona para determinados formatos de imagen. Por ejemplo, no se puede construir un objeto Graphics basado en una imagen que tenga una profundidad de color de 4 bits por píxel. Para obtener más información sobre qué formatos son compatibles con el constructor Graphics, vea Gráficos.
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);
}
Requisitos
Requisito | Valor |
---|---|
Header | gdiplusheaders.h |