Interfaz ID2D1BitmapRenderTarget (d2d1.h)

Se representa en una textura intermedia creada por el método CreateCompatibleRenderTarget .

Herencia

La interfaz ID2D1BitmapRenderTarget hereda de ID2D1RenderTarget. ID2D1BitmapRenderTarget también tiene estos tipos de miembros:

Métodos

La interfaz ID2D1BitmapRenderTarget tiene estos métodos.

 
ID2D1BitmapRenderTarget::GetBitmap

Recupera el mapa de bits para este destino de representación. El mapa de bits devuelto se puede usar para las operaciones de dibujo.

Comentarios

Id2D1BitmapRenderTarget escribe en una textura intermedia. Resulta útil para crear patrones para su uso con un ID2D1BitmapBrush o para almacenar en caché los datos de dibujo que se usarán repetidamente.

Para escribir directamente en un mapa de bits WIC, use el método ID2D1Factory::CreateWicBitmapRenderTarget . Este método devuelve un id2D1RenderTarget que escribe en el mapa de bits WIC especificado.

Crear objetos ID2D1BitmapRenderTarget

Para crear un destino de representación de mapa de bits, llame al método ID2D1RenderTarget::CreateCompatibleRenderTarget .

Al igual que otros destinos de representación, un ID2D1BitmapRenderTarget es un recurso dependiente del dispositivo y se debe volver a crear cuando el dispositivo asociado deja de estar disponible. Para obtener más información, consulte Introducción a los recursos.

Ejemplos

En el ejemplo siguiente se usa el método CreateCompatibleRenderTarget para crear un ID2D1BitmapRenderTarget y usarlo para dibujar un patrón de cuadrícula. El patrón de cuadrícula se usa como origen de 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;
}

En el ejemplo de código siguiente se usa el pincel para pintar un patrón.

// Paint a grid background.
m_pRenderTarget->FillRectangle(
    D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
    m_pGridPatternBitmapBrush
    );

El código se ha omitido en este ejemplo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d2d1.h

Consulte también

CreateCompatibleRenderTarget

ID2D1Factory::CreateWicBitmapRenderTarget

ID2D1RenderTarget