Metodo ID2D1RenderTarget::CreateCompatibleRenderTarget(D2D1_SIZE_F,ID2D1BitmapRenderTarget**) (d2d1.h)
Crea una destinazione di rendering bitmap da usare durante il disegno intermedio su schermo esterno compatibile con la destinazione di rendering corrente.
Sintassi
HRESULT CreateCompatibleRenderTarget(
D2D1_SIZE_F desiredSize,
ID2D1BitmapRenderTarget **bitmapRenderTarget
);
Parametri
desiredSize
Tipo: [in] D2D1_SIZE_F
Dimensioni desiderate della nuova destinazione di rendering in pixel indipendenti dal dispositivo. Le dimensioni dei pixel vengono calcolate dalle dimensioni desiderate usando la dpi di destinazione padre. Se l'oggetto desiredSize esegue il mapping a una dimensione integer-pixel, il valore DPI della destinazione di rendering compatibile corrisponde alla DPI della destinazione padre. Se desiredSize esegue il mapping a dimensioni frazionarie, le dimensioni dei pixel sono arrotondate all'intero più vicino e il valore DPI per la destinazione di rendering compatibile è leggermente superiore al valore DPI della destinazione di rendering padre. In tutti i casi, la coordinata (desiredSize.width, desiredSize.height) viene mappata all'angolo inferiore destro della destinazione di rendering compatibile.
bitmapRenderTarget
Tipo: [out] ID2D1BitmapRenderTarget**
Quando questo metodo restituisce, contiene un puntatore a un puntatore a una nuova destinazione di rendering bitmap. Questo parametro viene passato non inizializzato.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
La destinazione di rendering bitmap creata da questo metodo non è compatibile con GDI.
Esempio
Nell'esempio seguente viene usato il metodo CreateCompatibleRenderTarget per creare un ID2D1BitmapRenderTarget e usarlo per disegnare un modello di griglia. Il modello di griglia viene usato come origine di un ID2D1BitmapBrush.
HRESULT DemoApp::CreateGridPatternBrush(
ID2D1RenderTarget *pRenderTarget,
ID2D1BitmapBrush **ppBitmapBrush
)
{
// Create a compatible render target.
ID2D1BitmapRenderTarget *pCompatibleRenderTarget = NULL;
HRESULT hr = pRenderTarget->CreateCompatibleRenderTarget(
D2D1::SizeF(10.0f, 10.0f),
&pCompatibleRenderTarget
);
if (SUCCEEDED(hr))
{
// Draw a pattern.
ID2D1SolidColorBrush *pGridBrush = NULL;
hr = pCompatibleRenderTarget->CreateSolidColorBrush(
D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
&pGridBrush
);
if (SUCCEEDED(hr))
{
pCompatibleRenderTarget->BeginDraw();
pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 10.0f, 1.0f), pGridBrush);
pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.1f, 1.0f, 10.0f), pGridBrush);
pCompatibleRenderTarget->EndDraw();
// Retrieve the bitmap from the render target.
ID2D1Bitmap *pGridBitmap = NULL;
hr = pCompatibleRenderTarget->GetBitmap(&pGridBitmap);
if (SUCCEEDED(hr))
{
// Choose the tiling mode for the bitmap brush.
D2D1_BITMAP_BRUSH_PROPERTIES brushProperties =
D2D1::BitmapBrushProperties(D2D1_EXTEND_MODE_WRAP, D2D1_EXTEND_MODE_WRAP);
// Create the bitmap brush.
hr = m_pRenderTarget->CreateBitmapBrush(pGridBitmap, brushProperties, ppBitmapBrush);
pGridBitmap->Release();
}
pGridBrush->Release();
}
pCompatibleRenderTarget->Release();
}
return hr;
}
Nell'esempio di codice seguente viene usato il pennello per disegnare un modello.
// Paint a grid background.
m_pRenderTarget->FillRectangle(
D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
m_pGridPatternBitmapBrush
);
Il codice è stato omesso da questo esempio.
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 | d2d1.h |
Libreria | D2d1.lib |
DLL | D2d1.dll |