Método ID2D1DeviceContext::CreateImageBrush(ID2D1Image*,constD2D1_IMAGE_BRUSH_PROPERTIES&,ID2D1ImageBrush**) (d2d1_1.h)

Cria um pincel de imagem. A imagem de entrada pode ser qualquer tipo de imagem, incluindo um bitmap, efeito ou uma lista de comandos.

Sintaxe

HRESULT CreateImageBrush(
  [in]      ID2D1Image                          *image,
  [in, ref] const D2D1_IMAGE_BRUSH_PROPERTIES & imageBrushProperties,
  [out]     ID2D1ImageBrush                     **imageBrush
);

Parâmetros

[in] image

Tipo: ID2D1Imagem*

A imagem a ser usada como fonte para o pincel de imagem.

[in, ref] imageBrushProperties

Tipo: const D2D1_IMAGE_BRUSH_PROPERTIES

As propriedades específicas de um pincel de imagem.

[out] imageBrush

Tipo: ID2D1ImageBrush**

Quando esse método retorna, contém o endereço de um ponteiro para os retângulos de entrada.

Retornar valor

Tipo: HRESULT

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

HRESULT Descrição
S_OK Não ocorreu nenhum erro.
E_OUTOFMEMORY Direct2D não pôde alocar memória suficiente para concluir a chamada.
E_INVALIDARG Um valor inválido foi passado para o método .

Comentários

O pincel de imagem pode ser usado para preencher uma geometria arbitrária, uma máscara de opacidade ou um texto.

Este exemplo ilustra o desenho de um retângulo com um pincel de imagem.

HRESULT
CreatePatternBrush(
     __in ID2D1DeviceContext *pDeviceContext,
     __deref_out ID2D1ImageBrush **ppImageBrush
     )
{
    HRESULT hr = S_OK;
    ID2D1Image *pOldTarget = NULL;
    pDeviceContext->GetTarget(&pOldTarget);

    ID2D1CommandList *pCommandList = NULL;
    hr = pDeviceContext->CreateCommandList(&pCommandList);
     
    if (SUCCEEDED(hr))
    {   
        pDeviceContext->SetTarget(pCommandList);
        hr = RenderPatternToCommandList(pDeviceContext);
    }

    pDeviceContext->SetTarget(pOldTarget);

    ID2D1ImageBrush *pImageBrush = NULL;

    if (SUCCEEDED(hr))
    {        
         hr = pDeviceContext->CreateImageBrush(
            pCommandList,
            D2D1::ImageBrushProperties(
                D2D1::RectF(198, 298, 370, 470),
                D2D1_EXTEND_MODE_WRAP,
                D2D1_EXTEND_MODE_WRAP,
                D2D1_INTERPOLATION_MODE_LINEAR
                ),
            &pImageBrush
            );
    }
    
    // Fill a rectangle with the image brush.
    if (SUCCEEDED(hr))
    {
        pDeviceContext->FillRectangle(
            D2D1::RectF(0, 0, 100, 100), pImageBrush);
    }

    SafeRelease(&pImageBrush);
    SafeRelease(&pCommandList);
    SafeRelease(&pOldTarget);
    return hr;
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1_1.h
DLL D2d1.dll

Confira também

D2D1_BRUSH_PROPERTIES

D2D1_IMAGE_BRUSH_PROPERTIES

ID2D1DeviceContext

ID2D1DeviceContext::CreateCommandList

ID2D1DeviceContext::CreateEffect

ID2D1RenderTarget::D rawGeometry

ID2D1RenderTarget::FillGeometry