Интерфейс IXpsOMGradientStop (xpsobjectmodel.h)
Представляет один цвет и расположение в градиенте.
Наследование
Интерфейс IXpsOMGradientStop наследуется от интерфейса IUnknown . IXpsOMGradientStop также имеет следующие типы элементов:
Методы
Интерфейс IXpsOMGradientStop содержит следующие методы.
IXpsOMGradientStop::Clone Создает глубокую копию интерфейса IXpsOMGradientStop. |
IXpsOMGradientStop::GetColor Возвращает значение цвета и профиль цвета остановки градиента. |
IXpsOMGradientStop::GetOffset Возвращает значение смещения остановки градиента. |
IXpsOMGradientStop::GetOwner Возвращает указатель на интерфейс IXpsOMGradientBrush, содержащий остановку градиента. |
IXpsOMGradientStop::SetColor Задает значение цвета и профиль цвета остановки градиента. |
IXpsOMGradientStop::SetOffset Задает расположение смещения остановки градиента. |
Комментарии
Остановка градиента — это определенный цвет, определенный для расположения в области градиента. Цвет градиента изменяется между остановками градиента. Область и абсолютное расположение градиента определяются интерфейсом градиента. Смещение является относительным расположением в области градиента и измеряется в диапазоне от 0,0 до 1,0. Смещение 0,0 — начало градиента, а 1,0 — конец. Градиентные остановки можно определить для любого смещения в диапазоне, включая конечные точки. Этот интерфейс описывает только одну остановку в градиенте.
Путь градиента — это прямая линия, соединяющая начальную и конечную точку линейного градиента. Область градиента линейного градиента состоит из области между начальной и конечной точками, включая эти точки, и расширяется в обоих направлениях под прямым углом к пути градиента. Область распространения — это область за пределами области градиента.
Градиентные остановки определяют цвет в определенном месте вдоль пути градиента; цвет интерполируется по пути градиента между остановками градиента. В следующем примере градиентная область заполняет изображение, поэтому область распространения отсутствует.
Для остановок градиента, используемых в линейно-градиентных кисти, значение смещения 0,0 соответствует начальной точке пути градиента, а значение смещения 1,0 — конечной точке. Чтобы определить расположение остановки градиента между этими двумя точками, между ними интерполируются промежуточные значения смещения. На следующем рисунке показаны две промежуточные остановки градиента: одна со смещением 0,25, а другая — с 0,75.
Для остановок градиента, используемых в радиально-градиентных кистей, значение смещения 0,0 соответствует расположению источника градиента, а значение смещения 1,0 соответствует окружности эллипса, ограничивающего градиент. Смещения от 0,0 до 1,0 определяют эллипс, который интерполируется между источником градиента и ограничивающим эллипсой. На следующем рисунке имеется одна промежуточная остановка градиента со смещением 0,50 (градиентная остановка 1). Градиент использует метод XPS_SPREAD_METHOD_REFLECT spread для заполнения пространства за пределами области градиента.
Вычисления, используемые для отрисовки градиента, описаны в спецификации xml paper.В следующем примере кода показано, как создать экземпляр этого интерфейса.
IXpsOMGradientStop *newInterface;
// The following values are defined outside of
// this example.
// XPS_COLOR color;
// IXpsOMColorProfileResource *colorProfile;
// FLOAT offset;
// 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->CreateGradientStop (
&color,
colorProfile,
offset,
&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 |