Condividi tramite


Effetto ritaglio

Usare l'effetto ritaglio per restituire un'area specificata di un'immagine.

Il CLSID per questo effetto è CLSID_D2D1Crop.

Immagine di esempio

Prima
l'immagine prima dell'effetto.
Dopo
'immagine dopo la trasformazione.
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();

Proprietà dell'effetto

Enumerazione del nome visualizzato e dell'indice Tipo e valore predefinito Descrizione
Rect
D2D1_VECTOR_4F
Area da ritagliare specificata come vettore nel formato (sinistra, superiore, larghezza, altezza).
D2D1_CROP_PROP_RECT
{-FLT_MAX, -FLT_MAX, FLT_MAX, FLT_MAX}
Le unità sono in DIP.
Nota:
Il rect verrà troncato se si sovrappone ai limiti del bordo dell'immagine di input.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT : se il rettangolo di ritaglio cade sulle coordinate di pixel frazionarie, l'effetto applica l'antialiasing che produce un bordo morbido.
  • D2D1_BORDER_MODE_HARD : se il rettangolo di ritaglio cade sulle coordinate di pixel frazionarie, l'effetto blocca che produce un bordo rigido.

Bitmap di output

L'output di questo effetto è la dimensione della proprietà Rect. La lunghezza e la larghezza sono calcolate

ulato usando le equazioni qui:

Lunghezza dell'output in Pixel=(Rect.Right-Rect.Left)*(DPI dell'utente/96)
Altezza di output in pixel=(Rect.Bottom-Rect.Top)*(DPI utente/96)

Fabbisogno

Requisito Valore
Client minimo supportato Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store]
Server minimo supportato Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store]
Intestazione d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect