IXpsOMGradientStop-Schnittstelle (xpsobjectmodel.h)
Stellt eine einzelne Farbe und Position innerhalb eines Farbverlaufs dar.
Vererbung
Die IXpsOMGradientStop-Schnittstelle erbt von der IUnknown-Schnittstelle . IXpsOMGradientStop verfügt auch über folgende Membertypen:
Methoden
Die IXpsOMGradientStop-Schnittstelle verfügt über diese Methoden.
IXpsOMGradientStop::Clone Erstellt eine tiefe Kopie der IXpsOMGradientStop-Schnittstelle. |
IXpsOMGradientStop::GetColor Ruft den Farbwert und das Farbprofil des Farbverlaufsstopps ab. |
IXpsOMGradientStop::GetOffset Ruft den Offsetwert des Farbverlaufsstopps ab. |
IXpsOMGradientStop::GetOwner Ruft einen Zeiger auf die IXpsOMGradientBrush-Schnittstelle ab, die den Farbverlaufsstopp enthält. |
IXpsOMGradientStop::SetColor Legt den Farbwert und das Farbprofil des Farbverlaufsstopps fest. |
IXpsOMGradientStop::SetOffset Legt die Offsetposition des Farbverlaufsstopps fest. |
Hinweise
Ein Farbverlaufsstopp ist eine bestimmte Farbe, die für eine Position innerhalb des Farbverlaufsbereichs definiert ist. Die Farbe des Farbverlaufs ändert sich zwischen den Farbverlaufsstopps des Farbverlaufs. Der Bereich und die absolute Position des Farbverlaufs werden durch die Farbverlaufsschnittstelle definiert. Der Offset ist eine relative Position innerhalb des Farbverlaufsbereichs und wird zwischen 0,0 und 1,0 gemessen. Ein Offset von 0,0 ist der Anfang des Farbverlaufs und 1,0 das Ende. Farbverlaufsstopps können für jeden Offset innerhalb des Bereichs definiert werden, einschließlich der Endpunkte. Diese Schnittstelle beschreibt nur einen Stopp in einem Farbverlauf.
Der Farbverlaufspfad ist die gerade Linie, die den Startpunkt und den Endpunkt eines linearen Farbverlaufs verbindet. Der Farbverlaufsbereich eines linearen Farbverlaufs besteht aus dem Bereich zwischen dem Startpunkt und dem Endpunkt, einschließlich dieser Punkte, und erstreckt sich in beide Richtungen im rechten Winkel zum Farbverlaufspfad. Der Verteilungsbereich ist der Bereich außerhalb des Farbverlaufsbereichs.
Farbverlaufsstopps definieren die Farbe an einer bestimmten Stelle entlang des Farbverlaufspfads. die Farbe wird entlang des Farbverlaufspfads zwischen den Farbverlaufsstopps interpoliert. Im folgenden Beispiel füllt der Farbverlaufsbereich das Bild aus, sodass kein Streubereich vorhanden ist.
Bei Farbverlaufsstopps, die in linearen Farbverlaufspinsel verwendet werden, entspricht der Offsetwert 0,0 dem Startpunkt des Farbverlaufspfads, und der Offsetwert von 1,0 entspricht dem Endpunkt. Um die Position eines Farbverlaufsstopps zwischen diesen beiden Punkten zu bestimmen, werden zwischen diesen zwischengeschaltete Offsetwerte interpoliert. Die folgende Abbildung zeigt zwei zwischengeschaltete Farbverlaufsstopps, eine mit einem Offset von 0,25 und eine weitere bei 0,75.
Bei Farbverlaufsstopps, die in radialen Farbverlaufspinsel verwendet werden, entspricht der Offsetwert 0,0 der Position des Farbverlaufsursprungs, und der Offsetwert von 1,0 entspricht dem Umfang der Ellipse, die den Farbverlauf begrenzt. Offsets zwischen 0,0 und 1,0 definieren eine Ellipse, die zwischen dem Farbverlaufsursprung und der begrenzungsenden Ellipse interpoliert wird. Die folgende Abbildung zeigt einen zwischengeschalteten Farbverlaufsstopp bei einem Offset von 0,50 (Farbverlaufsstopp 1). Der Farbverlauf verwendet die XPS_SPREAD_METHOD_REFLECT spread-Methode , um den Bereich außerhalb des Farbverlaufsbereichs auszufüllen.
Die Berechnungen, die zum Rendern eines Farbverlaufs verwendet werden, werden in der XML-Papierspezifikation beschrieben.Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine instance dieser Schnittstelle erstellen.
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 |