Метод IXpsOMObjectFactory::CreateImageBrush (xpsobjectmodel.h)
Создает интерфейс IXpsOMImageBrush .
Синтаксис
HRESULT CreateImageBrush(
[in] IXpsOMImageResource *image,
[in] const XPS_RECT *viewBox,
[in] const XPS_RECT *viewPort,
[out, retval] IXpsOMImageBrush **imageBrush
);
Параметры
[in] image
Интерфейс IXpsOMImageResource , содержащий изображение, которое будет использоваться в качестве исходного изображения кисти.
[in] viewBox
Структура XPS_RECT, определяющая поле просмотра, которое представляет собой область исходного изображения, используемого кистью.
[in] viewPort
Структура XPS_RECT , которая определяет окно просмотра, которое является областью, покрытой первой плиткой в области вывода.
[out, retval] imageBrush
Указатель на новый интерфейс IXpsOMImageBrush .
Возвращаемое значение
Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения в следующей таблице. Сведения о возвращаемых значениях API документов XPS, не перечисленных в этой таблице, см. в разделе Ошибки документа XPS.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
image, viewBox, viewPort или imageBrush имеет значение NULL. |
|
элемент viewBox или viewPort содержит недопустимый прямоугольник или значение. |
Комментарии
Поле просмотра кисти указывает часть исходного изображения или визуального элемента, которая будет использоваться в качестве изображения плитки.
Координаты поля просмотра кисти относительно исходного содержимого, так что (0,0) указывает верхний левый угол исходного содержимого. Для изображений размеры, заданные полем просмотра кисти, выражаются в единицах 1/96". Соответствующие координаты пикселей на исходном изображении вычисляются следующим образом:
На следующем рисунке изображение слева является примером исходного изображения, а справа — кистью, которая выводится после выбора окна просмотра.
Если исходное разрешение изображения составляет 96 х 96 точек на дюйм, а размеры изображения — 96 х 96 пикселей, значения полей в параметре viewbox будут следующими:Приведенные выше значения параметров соответствуют исходному изображению следующим образом:
- SourceLeft = (96 × 48) / 96 = 48 пикселей с левой стороны
- SourceTop = (96 × 24) / 96 = 24 пикселя сверху
- SourceWidth = (96 × 24) / 96 = 24 пикселя в ширину
- SourceHeight = (96 × 48) / 96 = 48 пикселей в высоту
Кисть изображения — это кисть плитки, которая принимает изображение или его часть, преобразует изображение для создания плитки, помещает полученную плитку в окно просмотра (конечная геометрия плитки в области вывода) и заполняет область вывода, как описано в режиме плитки.
Окно просмотра — это область, покрытая первой плиткой в области вывода. Изображение окна просмотра повторяется в области вывода, как описано в режиме плитки.
На следующем рисунке показано, как кисть изображения используется для заполнения области вывода. Слева направо исходное изображение преобразуется для заполнения окна просмотра, затем помещается в область окна просмотра области вывода, а затем мозаичного фрагмента для заполнения области вывода.
В следующем примере кода показано, как этот метод используется для создания нового интерфейса.
IXpsOMImageBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMImageResource *image;
// XPS_RECT viewBox;
// XPS_RECT viewPort;
// Note the implicit requirement that CoInitializeEx
// has previously been called from this thread.
hr = CoCreateInstance(
__uuidof(XpsOMObjectFactory),
NULL,
CLSCTX_INPROC_SERVER,
_uuidof(IXpsOMObjectFactory),
reinterpret_cast<LPVOID*>(&xpsFactory)
);
if (SUCCEEDED(hr))
{
hr = xpsFactory->CreateImageBrush (
image,
&viewBox,
&viewPort,
&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | xpsobjectmodel.h |