Метод IXpsOMObjectFactory::CreateRadialGradientBrush (xpsobjectmodel.h)
Создает интерфейс IXpsOMRadialGradientBrush .
Синтаксис
HRESULT CreateRadialGradientBrush(
[in] IXpsOMGradientStop *gradStop1,
[in] IXpsOMGradientStop *gradStop2,
[in] const XPS_POINT *centerPoint,
[in] const XPS_POINT *gradientOrigin,
[in] const XPS_SIZE *radiiSizes,
[out, retval] IXpsOMRadialGradientBrush **radialGradientBrush
);
Параметры
[in] gradStop1
Интерфейс IXpsOMGradientStop , указывающий свойства градиента в источнике градиента. Этот параметр не должен иметь значение NULL.
[in] gradStop2
Интерфейс IXpsOMGradientStop , указывающий свойства градиента в конце вектора градиента, который представляет собой эллипс, который охватывает область градиента. Этот параметр не должен иметь значение NULL.
[in] centerPoint
Координаты центральной точки радиального эллипса градиента.
[in] gradientOrigin
Координаты начала радиального градиента.
[in] radiiSizes
Структура XPS_SIZE , члены которой определяют длину радиусов области градиента.
Размер описывается в единицах XPS. На дюйм приходится 96 единиц XPS. Например, радиус 1 дюйма составляет 96 единиц XPS.
XPS_SIZE Член | Значение |
---|---|
width | Длина радиуса вдоль оси X. |
height | Длина радиуса вдоль оси Y. |
[out, retval] radialGradientBrush
Указатель на новый интерфейс IXpsOMRadialGradientBrush .
Возвращаемое значение
Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения в следующей таблице. Сведения о возвращаемых значениях API документов XPS, не перечисленных в этой таблице, см. в разделе Ошибки документа XPS.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Недопустимая точка, описанная в centerPoint, radiiSizes или gradientOrigin . Члены структуры XPS_POINT должны содержать допустимые и конечные значения с плавающей запятой. |
|
gradStop1, gradStop2, centerPoint, gradientOrigin, radiiSizes или radialGradientBrush имеет значение NULL. |
|
gradStop1 или gradStop1 не указывают на распознаваемую реализацию интерфейса. Пользовательская реализация интерфейсов API документов XPS не поддерживается. |
Комментарии
Как показано на следующем рисунке, область градиента радиального градиента — это область, заключенная в эллипс, который описывается центральной точкой и радиусами x и y, которые простираются от центральной точки. Область распространения — это область за пределами этого эллипса. Путь к градиенту (не показан) — это радиальная линия, нарисованная между источником градиента и эллипсом, ограничивающим область градиента.
Для радиально-градиентных кистей точка градиента, заданная параметром gradStop1 , соответствует расположению источника градиента и значению смещения 0,0. Остановка градиента, заданная параметром gradStop2 , соответствует окружности области градиента и значению смещения 1,0. Дополнительные сведения об остановках градиента см. в разделе IXpsOMGradientStop.В следующем примере кода показано, как этот метод используется для создания нового интерфейса.
IXpsOMRadialGradientBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMGradientStop *gradStop1, *gradStop2;
// XPS_POINT centerPoint, gradientOrigin;
// XPS_SIZE radiiSizes;
// 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->CreateRadialGradientBrush (
gradStop1,
gradStop2,
¢erPoint,
&gradientOrigin,
&radiiSizes,
&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 |