Aracılığıyla paylaş


Kırpma efekti

Görüntünün belirli bir bölgesini çıkarmak için kırpma efektini kullanın.

Bu etki için CLSID CLSID_D2D1Crop.

Örnek resim

Önce
Efektin önüne görüntüyü .
Sonra
Dönüştürmeden sonra görüntüyü .
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();

Efekt özellikleri

Görünen ad ve dizin numaralandırması Tür ve varsayılan değer Açıklama
Rect
D2D1_VECTOR_4F
Kırpılacak bölge, formda vektör (sol, üst, genişlik, yükseklik) olarak belirtilir.
D2D1_CROP_PROP_RECT
{-FLT_MAX, -FLT_MAX, FLT_MAX, FLT_MAX}
Birimler DIP cinsindendir.
Not:
Giriş görüntüsünün kenar sınırlarıyla çakışıyorsa, Düzeltme kesilir.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT: Kırpma dikdörtgeni kesirli piksel koordinatlarına düşerse, etki antialiasing uygular ve bu da yumuşak kenarla sonuç verir.
  • D2D1_BORDER_MODE_HARD: Kırpma dikdörtgeni kesirli piksel koordinatlarına düşerse, efekt sabit kenarla sonuçlanan şekilde sıkıştırılır.

Çıktı bit eşlemi

Bu efektin çıkışı Rect özelliğinin boyutudur. Uzunluk ve genişlik hesaplamadır

buradaki denklemleri kullanarak ulated:

Piksel=(Rect.Right-Rect.Left)*(Kullanıcının DPI'sı/96) cinsinden çıkış uzunluğu
Piksel cinsinden çıkış yüksekliği=(Rect.Bottom-Rect.Top)*(Kullanıcının DPI'sı/96)

Gereksinim -leri

Gereksinim Değer
Desteklenen en düşük istemci Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Desteklenen en düşük sunucu Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Üstbilgi d2d1effects.h
Kütüphane d2d1.lib, dxguid.lib

ID2D1Fefek