Ler em inglês

Compartilhar via


Efeito de borda

Use o efeito de borda para estender uma imagem das bordas. Você pode usar esse efeito para repetir os pixels das bordas da imagem, encapsular os pixels da extremidade oposta da imagem ou espelho os pixels pela borda do bitmap para estender a região do bitmap.

O CLSID para esse efeito é CLSID_D2D1Border.

Imagens de exemplo

Os exemplos aqui mostram a saída do efeito de borda usando cada modo. O tamanho da saída é infinito, mas essas imagens de exemplo são cortadas para o dobro do tamanho.

Espelho

Antes
Captura de tela que mostra a imagem antes do efeito.
After (após)
Captura de tela que mostra a imagem após a transformação.

Clamp

Antes
Captura de tela que mostra a imagem antes do efeito de um grampo.
After (após)
Captura de tela que mostra a imagem após a transformação de um grampo.

Encapsular

Antes
Captura de tela que mostra a imagem antes do efeito de uma quebra automática.
After (após)
Captura de tela que mostra a imagem após a transformação de uma quebra automática.
ComPtr<ID2D1Effect> borderEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Border, &borderEffect);

borderEffect->SetInput(0, bitmap);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_X, D2D1_BORDER_EDGE_MODE_MIRROR);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_Y, D2D1_BORDER_EDGE_MODE_MIRROR);

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

Propriedades do efeito

Nome de exibição e enumeração de índice Descrição
Modo de Borda X
D2D1_BORDER_PROP_EDGE_MODE_X
O modo de borda na direção X para o efeito. Você pode definir isso como fixar, encapsular ou espelho. Confira Modos de borda para obter mais informações.
O tipo é D2D1_BORDER_EDGE_MODE.
O valor padrão é D2D1_BORDER_EDGE_MODE_CLAMP.
Modo de Borda Y
D2D1_BORDER_PROP_EDGE_MODE_Y
O modo de borda na direção Y para o efeito. Você pode definir isso como fixar, encapsular ou espelho. Confira Modos de borda para obter mais informações.
O tipo é D2D1_BORDER_EDGE_MODE.
O valor padrão é D2D1_BORDER_EDGE_MODE_CLAMP.

Modos de borda

Nome de exibição e enumeração de índice Descrição
Clamp
D2D1_BORDER_EDGE_MODE_CLAMP
Repete os pixels das bordas da imagem.
Encapsular
D2D1_BORDER_EDGE_MODE_WRAP
Usa pixels da borda final oposta da imagem.
Espelho
D2D1_BORDER_EDGE_MODE_MIRROR
Reflete pixels sobre a borda da imagem.

Bitmap de saída

O tamanho do bitmap de saída é infinito para todas as entradas, exceto uma imagem de entrada de tamanho 0. Se a altura ou a largura de uma imagem de entrada for 0, o tamanho da saída será 0.

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