Efeito de bloco

Use o efeito de bloco para repetir a região especificada da imagem.

O CLSID para esse efeito é CLSID_D2D1Tile.

Imagem de exemplo

Antes
a imagem antes do efeito.
After (após)
a imagem após a transformação.
ComPtr<ID2D1Effect> tileEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Tile, &tileEffect);

tileEffect->SetInput(0, bitmap);

tileEffect->SetValue(D2D1_TILE_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(tileEffect.Get());
m_d2dContext->EndDraw();

Propriedades de efeito

Nome de exibição e enumeração de índice Tipo e valor padrão Descrição
Rect
D2D1_TILE_PROP_RECT
D2D1_VECTOR_4F
{0.0f, 0.0f, 100.0f, 100.0f}
A região da imagem a ser lado a lado. Essa propriedade é uma D2D1_VECTOR_4F definida como: (esquerda, superior, direita, inferior). As unidades estão em DIPs.

Bitmap de saída

Esse efeito gera um bitmap de tamanho logicamente infinito.

Você pode colocar uma imagem em bloco e gerar um determinado tamanho sem nenhum efeito adicional definindo o tamanho quando você chama ID2D1DeviceContext::D rawImage.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Servidor mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect