Freigeben über


IXpsOMObjectFactory::CreateLinearGradientBrush-Methode (xpsobjectmodel.h)

Erstellt eine IXpsOMLinearGradientBrush-Schnittstelle .

Syntax

HRESULT CreateLinearGradientBrush(
  [in]          IXpsOMGradientStop        *gradStop1,
  [in]          IXpsOMGradientStop        *gradStop2,
  [in]          const XPS_POINT           *startPoint,
  [in]          const XPS_POINT           *endPoint,
  [out, retval] IXpsOMLinearGradientBrush **linearGradientBrush
);

Parameter

[in] gradStop1

Die IXpsOMGradientStop-Schnittstelle , die die Farbverlaufseigenschaften am Anfang des Farbverlaufsvektors angibt. Dieser Parameter darf nicht NULL sein.

[in] gradStop2

Die IXpsOMGradientStop-Schnittstelle , die die Farbverlaufseigenschaften am Ende des Farbverlaufsvektors angibt. Dieser Parameter darf nicht NULL sein.

[in] startPoint

Die XPS_POINT Struktur, die die Koordinaten des Startpunkts im zweidimensionalen Raum enthält.

[in] endPoint

Die XPS_POINT Struktur, die die Koordinaten des Endpunkts im zweidimensionalen Raum enthält.

[out, retval] linearGradientBrush

Ein Zeiger auf die neue IXpsOMLinearGradientBrush-Schnittstelle .

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliche Werte sind unter anderem diejenigen in der folgenden Tabelle. Informationen zu Rückgabewerten der XPS-Dokument-API, die in dieser Tabelle nicht aufgeführt sind, finden Sie unter XPS-Dokumentfehler.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_INVALIDARG
Der von startPoint oder endPoint angegebene Punkt war ungültig. Die Member der XPS_POINT-Struktur müssen gültige und endliche Gleitkommawerte enthalten.
E_POINTER
gradStop1, gradStop2, startPoint, figure oder linearGradientBrush ist NULL.
XPS_E_NO_CUSTOM_OBJECTS
gradStop1 oder gradStop1 verweist nicht auf eine erkannte Schnittstellenimplementierung. Die benutzerdefinierte Implementierung von XPS-Dokument-API-Schnittstellen wird nicht unterstützt.

Hinweise

Der Farbverlaufsbereich eines linearen Farbverlaufs ist der Bereich zwischen und einschließlich des Start- und Endpunkts und erstreckt sich in beiden Richtungen im rechten Winkel zum Farbverlaufspfad. Der Verteilungsbereich ist der Bereich der Geometrie, der außerhalb des Farbverlaufsbereichs liegt.

Farbverlaufsstopps definieren die Farbe an bestimmten Stellen entlang des Farbverlaufspfads. In der Abbildung befindet sich der durch den gradStop1-Parameter angegebene Farbverlaufsstopp 0 am Startpunkt des Farbverlaufspfads, und der Durch den gradStop2-Parameter angegebene Gradientenstopp 1 befindet sich am Endpunkt.

Wie in der folgenden Abbildung gezeigt, sind die Anfangs- und Endpunkte eines linearen Farbverlaufs auch die Anfangs- und Endpunkte des Farbverlaufspfads, d. h. die gerade Linie, die diese Punkte verbindet.

Abbildung, die die in einem linearen Farbverlauf verwendeten Begriffe zeigt Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode zum Erstellen einer neuen Schnittstelle verwendet wird.

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
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile xpsobjectmodel.h

Weitere Informationen

IXpsOMGradientStop

IXpsOMLinearGradientBrush

IXpsOMObjectFactory

XML Paper Specification

XPS-Dokumentfehler

XPS_POINT