Metodo IXpsOMObjectFactory::CreateImageBrush (xpsobjectmodel.h)
Crea un'interfaccia IXpsOMImageBrush .
Sintassi
HRESULT CreateImageBrush(
[in] IXpsOMImageResource *image,
[in] const XPS_RECT *viewBox,
[in] const XPS_RECT *viewPort,
[out, retval] IXpsOMImageBrush **imageBrush
);
Parametri
[in] image
Interfaccia IXpsOMImageResource che contiene l'immagine da usare come immagine di origine del pennello.
[in] viewBox
Struttura XPS_RECT che definisce la casella di visualizzazione, ovvero l'area dell'immagine di origine usata dal pennello.
[in] viewPort
Struttura XPS_RECT che definisce il riquadro di visualizzazione, ovvero l'area coperta dal primo riquadro nell'area di output.
[out, retval] imageBrush
Puntatore alla nuova interfaccia IXpsOMImageBrush .
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 |
---|---|
|
Il metodo è riuscito. |
|
image, viewBox, viewPort o imageBrush è NULL. |
|
viewBox o viewPort contiene un rettangolo o un valore non valido. |
Commenti
La casella di visualizzazione del pennello specifica la parte di un'immagine di origine o un oggetto visivo da utilizzare come immagine del riquadro.
Le coordinate della casella di visualizzazione del pennello sono relative al contenuto di origine, in modo che (0,0) specifica l'angolo superiore sinistro del contenuto di origine. Per le immagini, le dimensioni specificate dalla casella di visualizzazione del pennello sono espresse nelle unità di 1/96". Le coordinate pixel corrispondenti nell'immagine di origine vengono calcolate come segue:
Nell'illustrazione seguente, l'immagine a sinistra è un esempio di un'immagine di origine e che a destra è il pennello che risultati dopo aver selezionato la casella di visualizzazione.
Se la risoluzione dell'immagine di origine è 96 per 96 punti per pollice e le dimensioni dell'immagine sono 96 per 96 pixel, i valori dei campi nel parametro della casella di visualizzazione sono i seguenti:I valori dei parametri precedenti corrispondono all'immagine di origine come indicato di seguito:
- SourceLeft = (96 × 48) / 96 = 48 pixel dal lato sinistro
- SourceTop = (96 × 24) / 96 = 24 pixel dalla parte superiore
- SourceWidth = (96 × 24) / 96 = 24 pixel wide
- SourceHeight = (96 × 48) / 96 = 48 pixel elevati
Un pennello di immagine è un pennello di riquadro che accetta un'immagine o una parte di esso, trasforma l'immagine per creare un riquadro, inserisce il riquadro risultante nel riquadro (la geometria di destinazione del riquadro nell'area di output) e riempie l'area di output come descritto dalla modalità riquadro.
Il riquadro di visualizzazione è l'area coperta dal primo riquadro nell'area di output. L'immagine del riquadro viene ripetuta in tutta l'area di output, come descritto dalla modalità riquadro.
La figura successiva mostra come viene usato un pennello immagine per riempire un'area di output. Da sinistra a destra, l'immagine originale viene trasformata per riempire il riquadro di visualizzazione, quindi posizionato nell'area del riquadro di visualizzazione dell'area di output e quindi riquadri per riempire l'area di output.
L'esempio di codice seguente illustra come viene usato questo metodo per creare una nuova interfaccia.
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
}
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 |