Metodo IXpsOMObjectFactory::CreateLinearGradientBrush (xpsobjectmodel.h)
Crea un'interfaccia IXpsOMLinearGradientBrush .
Sintassi
HRESULT CreateLinearGradientBrush(
[in] IXpsOMGradientStop *gradStop1,
[in] IXpsOMGradientStop *gradStop2,
[in] const XPS_POINT *startPoint,
[in] const XPS_POINT *endPoint,
[out, retval] IXpsOMLinearGradientBrush **linearGradientBrush
);
Parametri
[in] gradStop1
Interfaccia IXpsOMGradientStop che specifica le proprietà sfumature all'inizio del vettore della sfumatura. Questo parametro non deve essere NULL.
[in] gradStop2
Interfaccia IXpsOMGradientStop che specifica le proprietà sfumature alla fine del vettore della sfumatura. Questo parametro non deve essere NULL.
[in] startPoint
Struttura XPS_POINT contenente le coordinate del punto iniziale nello spazio bidimensionale.
[in] endPoint
Struttura XPS_POINT che contiene le coordinate del punto finale nello spazio bidimensionale.
[out, retval] linearGradientBrush
Puntatore alla nuova interfaccia IXpsOMLinearGradientBrush .
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a quelli della tabella che segue. Per informazioni sui valori restituiti dall'API documento XPS non elencati in questa tabella, vedere Errori del documento XPS.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Il punto specificato da startPoint o endPoint non è valido. I membri della struttura XPS_POINT devono contenere valori validi e a virgola mobile. |
|
gradStop1, gradStop2, startPoint, figura o linearGradientBrush è NULL. |
|
gradStop1 o gradStop1 non punta a un'implementazione dell'interfaccia riconosciuta. L'implementazione personalizzata delle interfacce API documento XPS non è supportata. |
Commenti
L'area sfumatura di una sfumatura lineare è l'area tra e tra i punti iniziale e finale e l'estensione in entrambe le direzioni in un angolo destro del percorso sfumatura. L'area di diffusione è l'area della geometria che si trova all'esterno dell'area sfumatura.
Le sfumature definiscono il colore in posizioni specifiche lungo il percorso sfumatura. Nella figura, l'arresto sfumatura 0, specificato dal parametro gradStop1 , si trova al punto iniziale del percorso sfumatura e l'arresto sfumatura 1, specificato dal parametro gradStop2 , si trova al punto finale.
Come illustrato nella figura seguente, i punti iniziale e finale di una sfumatura lineare sono anche i punti iniziale e finale del percorso sfumatura, ovvero la linea dritta che connette tali punti.
L'esempio di codice seguente illustra come viene usato questo metodo per creare una nuova interfaccia.
IXpsOMLinearGradientBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMGradientStop *gradStop1, *gradStop2;
// XPS_POINT startPoint, endPoint;
// 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->CreateLinearGradientBrush (
gradStop1,
gradStop2,
&startPoint,
&endPoint,
&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | xpsobjectmodel.h |