Partilhar via


Efeito da colheita

Use o efeito de corte para gerar uma região especificada de uma imagem.

O CLSID para este efeito é CLSID_D2D1Crop.

Imagem de exemplo

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

cropEffect->SetInput(0, bitmap);
cropEffect->SetValue(D2D1_CROP_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));

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

Propriedades do efeito

Nome para exibição e enumeração de índice Tipo e valor padrão Descrição
Rect
D2D1_VECTOR_4F
A região a ser cortada especificada como um vetor na forma (esquerda, topo, largura, altura).
D2D1_CROP_PROP_RECT
{-FLT_MAX, -FLT_MAX, FLT_MAX, FLT_MAX}
As unidades estão em DIPs.
Nota:
O Rect será truncado se sobrepor os limites de borda da imagem de entrada.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT : Se o retângulo de corte cair em coordenadas fracionárias de pixel, o efeito aplica suavização de serrilhado, o que resulta em uma borda suave.
  • D2D1_BORDER_MODE_HARD : Se o retângulo de corte cair em coordenadas fracionárias de pixel, o efeito aperta o que resulta em uma borda dura.

Bitmap de saída

A saída desse efeito é o tamanho da propriedade Rect. O comprimento e a largura são calc

ulated usando as equações aqui:

Comprimento de saída em Pixels=(Rect.Right-Rect.Left)*(DPI/96 do usuário)
Altura de saída em pixels=(Rect.Bottom-Rect.Top)*(DPI/96 do usuário)

Requerimentos

Exigência Valor
Cliente mínimo suportado Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows]
Servidor mínimo suportado Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect