IXpsOMObjectFactory::CreateGradientStop-Methode (xpsobjectmodel.h)
Erstellt eine IXpsOMGradientStop-Schnittstelle , um eine einzelne Farb- und Positionsdefinition innerhalb eines Farbverlaufs darzustellen.
Syntax
HRESULT CreateGradientStop(
[in] const XPS_COLOR *color,
[in] IXpsOMColorProfileResource *colorProfile,
[in] FLOAT offset,
[out, retval] IXpsOMGradientStop **gradientStop
);
Parameter
[in] color
Der Farbwert.
[in] colorProfile
Ein Zeiger auf die IXpsOMColorProfileResource-Schnittstelle , die das zu verwendende Farbprofil enthält. Wenn der Farbtyp nicht XPS_COLOR_TYPE_CONTEXT ist, muss dieser Parameter NULL sein.
[in] offset
Der Offsetwert.
Gültiger Bereich: 0,0–1,0
[out, retval] gradientStop
Ein Zeiger auf die neue IXpsOMGradientStop-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 |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Der Wert im Offset ist ungültig. |
|
color oder gradientStop ist NULL. |
|
colorProfile ist NULL , aber es wird ein Farbprofil erwartet. Ein Farbprofil ist erforderlich, wenn der Farbtyp XPS_COLOR_TYPE_CONTEXT ist. |
|
colorProfile verweist nicht auf eine erkannte Schnittstellenimplementierung. Die benutzerdefinierte Implementierung von XPS-Dokument-API-Schnittstellen wird nicht unterstützt. |
|
colorProfile enthält ein Farbprofil, aber eines wird nicht erwartet. Ein Farbprofil ist nur zulässig, wenn der Farbtyp XPS_COLOR_TYPE_CONTEXT ist. |
Hinweise
Farbverlaufsstopps werden verwendet, um die Farbe an einer bestimmten Stelle zu definieren. Die Farbe wird zwischen den Farbverlaufsstopps interpoliert. Der Offset, der durch Offset angegeben wird, ist eine relative Position zwischen dem Anfangs- und Endpunkt des Farbverlaufs. Der Offset am Anfangspunkt eines linearen Farbverlaufs oder der Ursprung eines radialen Farbverlaufs ist 0,0. Der Offset des Endpunkts eines linearen Farbverlaufs oder der umgebenden Ellipse eines radialen Farbverlaufs ist 1,0. Farbverlaufsstopps können für jeden Offset zwischen diesen Punkten angegeben werden, einschließlich der Start- und Endpunkte. Die folgende Abbildung zeigt den Farbverlaufspfad und die Farbverlaufsstopps eines linearen Farbverlaufs.
Die folgende Abbildung zeigt die Farbverlaufsstopps eines radialen Farbverlaufs. In diesem Beispiel ist der radiale Farbverlaufsbereich der von der äußeren Ellipse eingeschlossene Bereich, und die XPS_SPREAD_METHOD_REFLECT spread-Methode wird verwendet, um den Raum außerhalb des Farbverlaufsbereichs auszufüllen. Die IXpsOMGradientStop-Schnittstelle gibt nur einen Stopp in einem Farbverlauf an.Die Berechnungen, die zum Rendern eines Farbverlaufs verwendet werden, werden in der XML-Papierspezifikation beschrieben.
Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode zum Erstellen einer neuen Schnittstelle verwendet wird.
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
}
Anforderungen
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 |