Método Image::Save(constWCHAR*,constCLSID*,constEncoderParameters*) (gdiplusheaders.h)

O método Image::Save salva essa imagem em um arquivo.

Sintaxe

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

Parâmetros

filename

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do caminho para a imagem salva.

clsidEncoder

Ponteiro para um CLSID que especifica o codificador a ser usado para salvar a imagem.

encoderParams

Opcional. Ponteiro para um objeto EncoderParameters que contém parâmetros usados pelo codificador. O valor padrão é NULL.

Retornar valor

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

O GDI+ não permite salvar uma imagem no mesmo arquivo que você usou para construir a imagem. O código a seguir cria um objeto Image passando o nome MyImage.jpg do arquivo para um construtor Image . Esse mesmo nome de arquivo é passado para o método Image::Save do objeto Image, portanto, o método Image::Save falha.

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", ...);

Exemplos

O exemplo a seguir cria um objeto Image de um arquivo PNG e, em seguida, cria um objeto Graphics com base nesse objeto Image . O código desenha a imagem, altera a imagem e desenha a imagem novamente. Por fim, o código salva a imagem alterada em um arquivo.

O código depende de uma função auxiliar, GetEncoderClsid, para obter o identificador de classe para o codificador PNG. A função GetEncoderClsid é mostrada em Recuperando o identificador de classe para um codificador.

A técnica de construir um objeto Graphics com base em uma imagem funciona apenas para determinados formatos de imagem. Por exemplo, você não pode construir um objeto Graphics com base em uma imagem que tenha uma profundidade de cor de 4 bits por pixel. Para obter mais informações sobre quais formatos são compatíveis com o construtor Gráficos , consulte 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
Cabeçalho gdiplusheaders.h

Confira também

Imagem

Encoderparameter

Encoderparameters

Getimageencoders

Métodos Image::Save

Métodos Image::SaveAdd

Usando codificadores de imagem e decodificadores