IXpsOMObjectFactory::CreateImageBrush-Methode (xpsobjectmodel.h)
Erstellt eine IXpsOMImageBrush-Schnittstelle .
Syntax
HRESULT CreateImageBrush(
[in] IXpsOMImageResource *image,
[in] const XPS_RECT *viewBox,
[in] const XPS_RECT *viewPort,
[out, retval] IXpsOMImageBrush **imageBrush
);
Parameter
[in] image
Die IXpsOMImageResource-Schnittstelle , die das Bild enthält, das als Quellbild des Pinsels verwendet werden soll.
[in] viewBox
Die XPS_RECT Struktur, die das Viewbox definiert, wobei es sich um den Bereich des Quellbilds handelt, der vom Pinsel verwendet wird.
[in] viewPort
Die XPS_RECT Struktur, die den Viewport definiert, wobei es sich um den Bereich handelt, der von der ersten Kachel im Ausgabebereich abgedeckt wird.
[out, retval] imageBrush
Ein Zeiger auf die neue IXpsOMImageBrush-Schnittstelle .
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliche Werte sind unter anderem die Werte in der folgenden Tabelle. Informationen zu XPS-Dokument-API-Rückgabewerten, die in dieser Tabelle nicht aufgeführt sind, finden Sie unter XPS-Dokumentfehler.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
image, viewBox, viewPort oder imageBrush ist NULL. |
|
viewBox oder viewPort enthält ein Rechteck oder einen Wert, der ungültig ist. |
Hinweise
Das Ansichtsfeld des Pinsels gibt den Teil eines Quellbilds oder Visuals an, der als Kachelbild verwendet werden soll.
Die Koordinaten des Ansichtsfelds des Pinsels sind relativ zum Quellinhalt, sodass (0,0) die obere linke Ecke des Quellinhalts angibt. Bei Bildern werden die vom Viewbox des Pinsels angegebenen Dimensionen in den Einheiten 1/96" ausgedrückt. Die entsprechenden Pixelkoordinaten im Quellbild werden wie folgt berechnet:
In der folgenden Abbildung ist das Bild links ein Beispiel für ein Quellbild, und das ist ganz rechts der Pinsel, der nach dem Auswählen des Ansichtsfelds entsteht.
Wenn die Quellbildauflösung 96 x 96 Punkte pro Zoll beträgt und die Bilddimensionen 96 x 96 Pixel betragen, sind die Werte der Felder im Viewbox-Parameter wie folgt:Die obigen Parameterwerte entsprechen dem Quellimage wie folgt:
- SourceLeft = (96 × 48) / 96 = 48 Pixel von der linken Seite
- SourceTop = (96 × 24) / 96 = 24 Pixel von oben
- SourceWidth = (96 × 24) / 96 = 24 Pixel breit
- SourceHeight = (96 × 48) / 96 = 48 Pixel hoch
Ein Bildpinsel ist ein Kachelpinsel, der ein Bild oder einen Teil davon übernimmt, das Bild transformiert, um eine Kachel zu erstellen, die resultierende Kachel im Viewport (die Zielgeometrie der Kachel im Ausgabebereich) platziert und den Ausgabebereich wie im Kachelmodus beschrieben ausfüllt.
Der Viewport ist der Bereich, der von der ersten Kachel im Ausgabebereich abgedeckt wird. Das Viewportbild wird im gesamten Ausgabebereich wiederholt, wie im Kachelmodus beschrieben.
Die nächste Abbildung zeigt, wie ein Bildpinsel verwendet wird, um einen Ausgabebereich zu füllen. Von links nach rechts wird das ursprüngliche Bild transformiert, um den Viewport zu füllen, dann im Viewportbereich des Ausgabebereichs platziert und dann gekachelt, um den Ausgabebereich zu füllen.
Das folgende Codebeispiel veranschaulicht, wie diese Methode zum Erstellen einer neuen Schnittstelle verwendet wird.
IXpsOMImageBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMImageResource *image;
// XPS_RECT viewBox;
// XPS_RECT viewPort;
// 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->CreateImageBrush (
image,
&viewBox,
&viewPort,
&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 |