Condividi tramite


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

Vedi anche

ID2D1RenderTarget

Formati pixel e modalità alfa supportati