Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Görüntüyü uzaktan görüntülenmiş gibi 3 boyutlu döndürmek için 3B perspektif dönüştürme efektini kullanın.
3B perspektif dönüşümü, 3B dönüştürme etkisinden daha kullanışlıdır, ancak işlevselliğin yalnızca bir alt kümesini kullanıma sunar. Tam 3B dönüştürme matrisini hesaplayabilir ve 3B dönüştürme efektini kullanarak bir görüntüye daha rastgele bir dönüştürme matrisi uygulayabilirsiniz.
Bu etki için CLSID CLSID_D2D13DPerspectiveTransform.
- Örnek görüntü
- Efekt özellikleri
- ilişkilendirme modları
- Kenarlık modları
- Çıktı bit eşlem
- Gereksinimleri
- İlgili konular
Örnek resim
| Önce |
|---|
Efektin önüne görüntüyü ![]() |
| Sonra |
Efektin ardından görüntüyü ![]() |
ComPtr<ID2D1Effect> perspectiveTransformEffect;
m_d2dContext->CreateEffect(CLSID_D2D13DPerspectiveTransform, &perspectiveTransformEffect);
perspectiveTransformEffect->SetInput(0, bitmap);
perspectiveTransformEffect->SetValue(D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN, D2D1::Vector2F(0.0f, 192.0f));
perspectiveTransformEffect->SetValue(D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION, D2D1::Vector3F(0.0f, 30.0f, 0.0f));
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(perspectiveTransformEffect.Get());
m_d2dContext->EndDraw();
Efekt özellikleri
| Görünen ad ve dizin numaralandırması | Açıklama |
|---|---|
| InterpolationMode D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE |
Efektin görüntü üzerinde kullandığı ilişkilendirme modu. Kalite ve hız aralığında 5 ölçek modu vardır. Tür D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE. Varsayılan değer D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR. |
| BorderMode D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE |
Görüntünün kenarını yumuşak veya sert olarak hesaplamak için kullanılan mod. Daha fazla bilgi için bkz. Kenarlık modları. Tür D2D1_BORDER_MODE. Varsayılan değer D2D1_BORDER_MODE_SOFT. |
| Derinlik D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH |
PerspectiveOrigin'den projeksiyon düzlemine olan uzaklık. IP'lerde belirtilen değer 0'dan büyük olmalıdır. Tür FLOAT'dır. Varsayılan değer 1000,0f'dir. |
| PerspectiveOrigin D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN |
Görüntüleyicinin 3B sahnedeki X ve Y konumu. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_2F: (X noktası, Y noktası). Birimler DIP cinsindendir. Z değerini Derinlik özelliğiyle ayarlarsınız. Tür D2D1_VECTOR_2F. Varsayılan değer : {0.0f, 0.0f}. |
| LocalOffset D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET |
Projeksiyon düzlemini döndürmeden önce efektin gerçekleştirdiği çeviri. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_3F: (X, Y, Z). Birimler DIP cinsindendir. Tür D2D1_VECTOR_3F. Varsayılan değer: {0.0f, 0.0f, 0.0f}. |
| GlobalOffset D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET |
Projeksiyon düzlemini döndürdükten sonra efektin gerçekleştirdiği çeviri. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_3F: (X, Y, Z). Birimler DIP cinsindendir. Tür D2D1_VECTOR_3F. Varsayılan değer: {0.0f, 0.0f, 0.0f}. |
| RotationOrigin D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN |
Efektin gerçekleştirdiği döndürmenin orta noktası. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_3F: (X, Y, Z). Birimler DIP cinsindendir. Tür D2D1_VECTOR_3F. Varsayılan değer: {0.0f, 0.0f, 0.0f}. |
| Rotasyon D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION |
Her eksen için döndürme açıları. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_3F: (X, Y, Z). Birimler derece cinsindendir. Tür D2D1_VECTOR_3F. Varsayılan değer: {0.0f, 0.0f, 0.0f}. |
İlişkilendirme modları
| Sayım | Açıklama |
|---|---|
| D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR | En yakın tek noktayı örnekler ve bunu kullanır. Bu mod daha az işlem süresi kullanır, ancak en düşük kaliteli görüntüyü görüntüler. |
| D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR | Dört noktalı örnek ve doğrusal ilişkilendirme kullanır. Bu mod, en yakın komşu modundan daha fazla işlem süresi kullanır, ancak daha yüksek kaliteli bir görüntü oluşturur. |
| D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC | İlişkilendirme için 16 örnek kübik çekirdek kullanır. Bu mod en fazla işlem süresini kullanır, ancak daha yüksek kaliteli bir görüntü oluşturur. |
| D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR | İyi kenar diğer adlara karşı koruma için tek bir piksel içinde 4 doğrusal örnek kullanır. Bu mod, birkaç piksel içeren görüntülerde küçük miktarlarda ölçeği küçültmek için iyidir. |
| D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC | Bit eşlemin dönüştürülmüş şekline göre bir desen örneklemek için anizotropik filtreleme kullanır. |
Not
Mod seçmezseniz efekt varsayılan olarak D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR olur.
Not
Anisotropik mod ölçeklendirme sırasında mipmap'ler oluşturur, ancak bu etkiye giriş olan efektlerde önbelleğe alınmış özelliğini true olarak ayarlarsanız, yeterince küçük görüntüler için her seferinde mipmap'ler oluşturulmaz.
Kenarlık modları
| Ad | Açıklama |
|---|---|
| D2D1_BORDER_MODE_SOFT | Efekt, görüntüyü ara değer olarak saydam siyah piksellerle doldurur ve yumuşak bir kenar elde eder. |
| D2D1_BORDER_MODE_HARD | Efekt, çıkışı giriş görüntüsünün boyutuna sıkıştırır. |
Çıktı bit eşlemi
Çıktı bit eşleminin boyutu, görüntüye uygulanan dönüştürme matrisine bağlıdır.
Etkisi dönüştürme işlemini gerçekleştirir ve ardından sonucun etrafına sınırlayıcı bir kutu uygular. Çıktı bit eşlemi sınırlayıcı kutunun boyutudur.
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 |

