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 espelhar os pixels na 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.
Depois
Captura de tela que mostra a imagem após a transformação.

Braçadeira

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

Embrulhar

Antes
Captura de tela que mostra a imagem antes do efeito de um encapsulamento.
Depois
Captura de tela que mostra a imagem após a transformação para um encapsulamento.
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 de 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 espelhar. Consulte 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 espelhar. Consulte 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
Braçadeira
D2D1_BORDER_EDGE_MODE_CLAMP
Repete os pixels das bordas da imagem.
Embrulhar
D2D1_BORDER_EDGE_MODE_WRAP
Usa pixels da borda de extremidade 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 Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Servidor mínimo com suporte Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect