Condividi tramite


Effetto ritaglio

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

ClSID per questo effetto è CLSID_D2D1Crop.

Immagine di esempio

Prima
immagine prima dell'effetto.
After
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 nome visualizzato e indice Tipo e valore predefinito Descrizione
Rect
D2D1_VECTOR_4F
Area da ritagliare 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:
Se sovrappone i limiti perimetrali dell'immagine di input, verrà troncato.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT : se il rettangolo di ritaglio cade sulle coordinate pixel frazionarie, l'effetto applica antialiasing che comporta un bordo morbido.
  • D2D1_BORDER_MODE_HARD : se il rettangolo di ritaglio si trova sulle coordinate pixel frazionarie, l'effetto blocca che genera un bordo rigido.

Bitmap di output

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

ulato usando le equazioni qui:

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

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e Platform Update per Windows 7 [app desktop | App di Windows Store]
Server minimo supportato Windows 8 e Platform Update per Windows 7 [app desktop | App di Windows Store]
Intestazione d2d1effects.h
Libreria d2d1.lib, dxguid.lib

ID2D1Effect