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


Метод IXpsRasterizationFactory::CreateRasterizer (xpsrassvc.h)

Метод CreateRasterize создает объект растеризатора XPS.

Синтаксис

HRESULT CreateRasterizer(
  [in, optional]  IXpsOMPage            *xpsPage,
  [in]            FLOAT                 DPI,
  [in]            XPSRAS_RENDERING_MODE nonTextRenderingMode,
  [in]            XPSRAS_RENDERING_MODE textRenderingMode,
  [out, optional] IXpsRasterizer        **ppIXPSRasterizer
);

Параметры

[in, optional] xpsPage

Указатель на объект IXpsOMPage , представляющий предопределенную страницу XPS для отрисовки. Этот объект инкапсулирует раздел FixedPage из документа XPS. Дополнительные сведения см. в разделе IXpsOMPage.

[in] DPI

Точки на дюйм в растрированных выходных данных. Этот параметр применяется к измерениям x и y выходного растрового изображения. Значение DPI — это разрешение устройства для печати или отображения фиксированной страницы XPS.

[in] nonTextRenderingMode

Режим отрисовки для нетекстовых элементов в растрированных выходных данных. Этот параметр указывает, следует ли создавать сглаживаемые выходные данные. Задайте для этого параметра одно из следующих значений перечисления XPSRAS_RENDERING_MODE :

  • XPSRAS_RENDERING_MODE_ANTIALIASED

  • XPSRAS_RENDERING_MODE_ALIASED

[in] textRenderingMode

Режим отрисовки для текста в растрированных выходных данных. Этот параметр указывает, следует ли создавать сглаживаемые выходные данные. Задайте для этого параметра одно из следующих значений перечисления XPSRAS_RENDERING_MODE:

  • XPSRAS_RENDERING_MODE_ANTIALIASED

  • XPSRAS_RENDERING_MODE_ALIASED

[out, optional] ppIXPSRasterizer

Этот параметр указывает на расположение, в которое метод записывает указатель на интерфейс IXpsRasterizer только что созданного объекта растеризатора XPS. Если метод завершается сбоем, он записывает в это расположение значение NULL и возвращает код ошибки.

Возвращаемое значение

CreateRasterizer возвращает S_OK, если вызов был выполнен успешно. В противном случае метод возвращает код ошибки.

Возможные возвращаемые значения ошибок:

Код возврата Описание
E_POINTER Параметр xpsPage или ppIXPSRasterizer имеет значение NULL.
E_INVALIDARG Параметр nonTextRenderingMode или textRenderingMode не является допустимым значением перечисления XPSRAS_RENDERING_MODE.
E_OUTOFMEMORY Недостаточно памяти

Комментарии

Этот метод поддерживается в Windows 7 и более поздних версиях.

Как правило, фильтр XPSDrv в конвейере XPS вызывает этот метод для получения растеризатора XPS. Затем он использует растризатор для растеризации фиксированной страницы XPS, инкапсулированной объектом, на который указывает параметр xpsPage .

Параметр DPI указывает разрешение принтера, которое считается одинаковым как в горизонтальном, так и в вертикальном измерениях. Ширина и высота фиксированной страницы XPS, которые можно получить из метода IXpsOMPage::GetPageDimensions , выражаются в единицах 1/96 дюймов. Умножьте эти значения ширины и высоты на DPI/96, чтобы определить ширину и высоту растровой страницы в пикселях. Дополнительные сведения об IXpsOMPage::GetPageDimensions см. в разделе IXpsOMPage. Дополнительные сведения о том, как объект растеризатора XPS использует значение DPI, см. в разделе IXpsRasterizer::RasterizeRect.

В случае успешного выполнения метод создает объект растеризатора XPS и передает вызывающей объекту подсчитываемую ссылку в интерфейс IXpsRasterizer объекта. Если объект больше не нужен, вызывающий объект отвечает за освобождение объекта путем вызова метода Release в интерфейсе IXpsRasterizer объекта.

Если метод завершается сбоем и параметр ppIXPSRasterizer имеет значение, отличное от NULL, метод задает *ppIXPSRasterizer = NULL.

Пример кода, который вызывает метод CreateRasterizer , см. в примере XPSRasFilter в WDK. Этот пример находится в папке Src\Print\Xpsrasfilter в установке WDK.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 7 и более поздних версиях операционной системы Windows.
Целевая платформа Персональный компьютер
Верхняя часть xpsrassvc.h

См. также раздел

IXpsRasterizationFactory

IXpsRasterizer

IXpsRasterizer::RasterizeRect

XPSRAS_RENDERING_MODE