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


Мастер печати фотографий

Мастер печати фотографий помогает пользователям печатать фотографии, предоставляя простой в использовании интерфейс мастера. Мастер позволяет пользователю указать размеры печати фотографий и другие параметры печати, а затем отправляет фотографии на принтер. Мастер разработан таким образом, что его можно вызвать программным способом любым приложением, которое хочет предоставить пользователям возможность печатать фотографии и задавать размеры и другие параметры печати. Мастер печати фотографий доступен в Windows XP и Windows Vista.

Функции, предоставляемые мастером печати фотографий

Мастер печати фотографий предлагает несколько вариантов, которые могут быть недоступны в общих диалоговых окнах принтера, таких как шаблоны с несколькими макетами с точными размерами. Шаблоны макетов позволяют пользователям максимально эффективно использовать пространство, доступное на фотопечатной бумаге. Другие параметры, к которым можно указать или получить доступ с помощью мастера печати фотографий:

  • Выбор принтера из списка доступных принтеров или виртуальных назначений печати (например, Microsoft XPS Document Writer). В Windows Vista могут быть доступны следующие параметры в зависимости от возможностей принтера или назначения виртуальной печати:
    • Размер бумаги. Например, "Letter", "Legal", "A3".
    • Качество печати с точки на дюйм (точек на дюйм) разрешения.
    • Тип бумаги. Например, "Обычный" или "Глянцевый".
  • Запуск параметров и свойств печати для определенного принтера.
  • Установка значений "Копии каждого рисунка " (в Windows Vista) или Количество раз для использования каждого рисунка (в Windows XP).
  • Указание шаблона макета печати. Например, полностраничная фотография или печать в бумажнике.
  • Выбор параметра "Подгонки рисунка к кадру " (доступно только в Windows Vista).
  • Предварительный просмотр печатной фотографии с указанными в данный момент параметрами.
  • Доступ к расширенным параметрам печати, таким как Sharpen для печати и Управление цветом (доступно только в Windows Vista).

Любое приложение может воспользоваться функциями и возможностями печати фотографий, предоставляемыми мастером печати фотографий. Приложение может передавать файлы для печати. Затем мастер печати фотографий выполняет подготовку файла к печати на основе параметров, заданных пользователем, и отправляет подготовленные файлы на принтер.

На следующем рисунке показан интерфейс мастера печати фотографий в Windows Vista

мастер печати фотографий в Windows Vista

На следующем рисунке показан интерфейс мастера печати фотографий в Windows XP

мастер печати фотографий в Windows XP

Поддерживаемые форматы файлов фотографий

В Windows XP мастер печати фотографий поддерживает все форматы графических файлов, поддерживаемые Windows GDI+. В настоящее время к этим форматам файлов относятся:

  • Точечный рисунок (BMP)
  • GIF
  • JPEG
  • EXIF
  • PNG
  • TIFF

Дополнительные сведения о форматах графических файлов, поддерживаемых GDI+, см. в разделе Типы растровых изображений.

В Windows Vista мастер печати фотографий поддерживает любой формат файлов изображений, для которого установлен кодек компонента образов Windows (WIC). WIC предоставляет несколько стандартных кодеков, в том числе:

  • Точечный рисунок (BMP)
  • GIF
  • Формат значка (ICO)
  • JPEG
  • PNG
  • TIFF
  • Формат фотографий Windows Media

Дополнительные сведения о кодеках WIC и WIC см. в разделе Компонент обработки образов Windows.

Программный запуск мастера печати фотографий

Чтобы вызвать мастер печати фотографий, вызовите интерфейс IDropTarget со следующим идентификатором класса (CLSID):

static const CLSID CLSID_PrintPhotosDropTarget = 
  {0x60fd46de, 0xf830, 0x4894, {0xa6, 0x28, 0x6f, 0xa8, 0x1b, 0xc0, 0x19, 0x0d}};

Файлы, обрабатываемые мастером печати фотографий, указываются в объекте IDataObject .

В следующем примере кода показано, как вызвать мастер печати фотографий.

static const CLSID CLSID_PrintPhotosDropTarget = 
  {0x60fd46de, 0xf830, 0x4894, {0xa6, 0x28, 0x6f, 0xa8, 0x1b, 0xc0, 0x19, 0x0d}};
            
// A data object that contains the list of photos to print.
IDataObject* pDataObject;

// Create the Photo Printing Wizard drop target.
CComPtr<IDropTarget> spDropTarget;
        
hr = CoCreateInstance(CLSID_PrintPhotosDropTarget,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_PPV_ARGS(&spDropTarget));

// Drop the data object onto the drop target.
POINTL pt = {0};
DWORD dwEffect = DROPEFFECT_LINK | DROPEFFECT_MOVE | DROPEFFECT_COPY;

spDropTarget->DragEnter(pDataObject, MK_LBUTTON, pt, &dwEffect);

spDropTarget->Drop(pDataObject, MK_LBUTTON, pt, &dwEffect);}