Поделиться через


Метод 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+ не позволяет сохранить изображение в том же файле, который использовался для его создания. Следующий код создает объект Image путем передачи имени MyImage.jpg файла конструктору Image . Это же имя файла передается методу Image::Save объекта Image, поэтому метод 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", ...);

Примеры

В следующем примере создается объект Image из PNG-файла, а затем создается объект Graphics на основе этого объекта Image . Код рисует изображение, изменяет изображение и снова рисует изображение. Наконец, код сохраняет измененное изображение в файл.

Код использует вспомогательную функцию 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

Методы Image::Save

Методы Image::SaveAdd

Использование кодировщиков изображений и декодеров