Metodo IXpsOMObjectFactory::CreateGradientStop (xpsobjectmodel.h)
Crea un'interfaccia IXpsOMGradientStop per rappresentare una singola definizione di colore e posizione all'interno di una sfumatura.
Sintassi
HRESULT CreateGradientStop(
[in] const XPS_COLOR *color,
[in] IXpsOMColorProfileResource *colorProfile,
[in] FLOAT offset,
[out, retval] IXpsOMGradientStop **gradientStop
);
Parametri
[in] color
Valore di colore.
[in] colorProfile
Puntatore all'interfaccia IXpsOMColorProfileResource che contiene il profilo di colore da usare. Se il tipo di colore non è XPS_COLOR_TYPE_CONTEXT, questo parametro deve essere NULL.
[in] offset
Valori di offset.
Intervallo valido: 0.0-1.0
[out, retval] gradientStop
Puntatore alla nuova interfaccia IXpsOMGradientStop .
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 valore in offset non è valido. |
|
color o gradientStop è NULL. |
|
colorProfile è NULL , ma è previsto un profilo di colore. È necessario un profilo di colore quando il tipo di colore è XPS_COLOR_TYPE_CONTEXT. |
|
colorProfile non punta a un'implementazione dell'interfaccia riconosciuta. L'implementazione personalizzata delle interfacce API documento XPS non è supportata. |
|
colorProfile contiene un profilo di colore, ma non è previsto. Un profilo di colore è consentito solo quando il tipo di colore è XPS_COLOR_TYPE_CONTEXT. |
Commenti
Le interruzioni sfumature vengono usate per definire il colore in una posizione specifica; il colore viene interpolato tra le interruzioni sfumature. L'offset, specificato dall'offset, è una posizione relativa tra i punti iniziale e finale della sfumatura. L'offset al punto iniziale di una sfumatura lineare o l'origine di una sfumatura radiale è 0,0. L'offset del punto finale di una sfumatura lineare o dei puntini di sospensione del limite di una sfumatura radiale è 1,0. Le interruzioni sfumature possono essere specificate per qualsiasi offset tra questi punti, inclusi i punti iniziale e finale. La figura seguente mostra il percorso sfumatura e le interruzioni sfumature di una sfumatura lineare.
La figura seguente mostra le interruzioni sfumature di una sfumatura radiale. In questo esempio, l'area della sfumatura radiale è l'area racchiusa dai puntini di sospensione esterni e il metodo di diffusione XPS_SPREAD_METHOD_REFLECT viene usato per riempire lo spazio all'esterno dell'area sfumatura. L'interfaccia IXpsOMGradientStop specifica uno e un solo stop in una sfumatura.I calcoli usati per eseguire il rendering di una sfumatura sono descritti nella specifica di carta XML.
L'esempio di codice seguente illustra come viene usato questo metodo per creare una nuova interfaccia.
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
}
Requisiti
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 |