Cómo crear un pincel de mapa de bits

Para crear un pincel de mapa de bits, use el método ID2D1RenderTarget::CreateBitmapBrush y especifique las propiedades del pincel de mapa de bits. Algunas sobrecargas permiten especificar las propiedades del pincel. En el código siguiente se muestra cómo crear un pincel de mapa de bits para rellenar un cuadrado y un pincel negro sólido para dibujar el contorno del cuadrado. El código genera la salida que se muestra en la siguiente captura de pantalla.

Nota

A partir de Windows 8, puede usar el método CreateBitmapBrush en la interfaz ID2D1DeviceContext para crear un ID2D1BitmapBrush1 en lugar de un ID2D1BitmapBrush. ID2D1BitmapBrush1 agrega modos de escalado de alta calidad al pincel de mapa de bits.

 

captura de pantalla de un cuadrado lleno de un mapa de bits de planta

  1. Declare una variable de tipo ID2D1BitmapBrush.

        ID2D1BitmapBrush *m_pBitmapBrush;
    
  2. Cargue un mapa de bits desde un recurso. Para obtener más información, vea Cómo cargar un mapa de bits desde un recurso.

    // Create the bitmap to be used by the bitmap brush.
    if (SUCCEEDED(hr))
    {
        hr = LoadResourceBitmap(
            m_pRenderTarget,
            m_pWICFactory,
            L"FERN",
            L"Image",
            &m_pBitmap
            );
    
  3. Elija los modos de extensión (D2D1_EXTEND_MODE) y el modo de interpolación (D2D1_BITMAP_INTERPOLATION_MODE) del pincel de mapa de bits y, a continuación, llame al método CreateBitmapBrush para crear un pincel, como se muestra en el código siguiente.

    hr = m_pRenderTarget->CreateBitmapBrush(
        m_pBitmap,
        &m_pBitmapBrush
        );
    

Referencia de Direct2D