Метод 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 |