Condividi tramite


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
S_OK
Il metodo è riuscito.
E_INVALIDARG
Il punto specificato da startPoint o endPoint non è valido. I membri della struttura XPS_POINT devono contenere valori validi e a virgola mobile.
E_POINTER
gradStop1, gradStop2, startPoint, figura o linearGradientBrush è NULL.
XPS_E_NO_CUSTOM_OBJECTS
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.

Figura che mostra i termini usati in una sfumatura lineare 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

Vedi anche

IXpsOMGradientStop

IXpsOMLinearGradientBrush

IXpsOMObjectFactory

XML Paper Specification

Errori del documento XPS

XPS_POINT