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.
Sağladığınız değerler listesinden oluşturulan bir adım aktarım işlevini kullanarak görüntünün renk yoğunluklarını eşlemek için ayrı aktarım efektini kullanın.
Bu etki için CLSID CLSID_D2D1DiscreteTransfer.
Örnek resim
Buradaki görüntüde ayrık aktarım efektinin girişi ve çıkışı gösterilmektedir.
| Önce |
|---|
Efektin önüne görüntüyü ![]() |
| Sonra |
Dönüştürmeden sonra görüntüyü ![]() |
ComPtr<ID2D1Effect> discreteTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DiscreteTransfer, &discreteTransferEffect);
discreteTransferEffect->SetInput(0, bitmap);
float table[3] = {0.0f, 0.5f, 1.0f};
discreteTransferEffect->SetValue(D2D1_DISCRETETRANSFER_PROP_RED_TABLE, table);
discreteTransferEffect->SetValue(D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE, table);
discreteTransferEffect->SetValue(D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE, table);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(discreteTransferEffect.Get());
m_d2dContext->EndDraw();
Aktarım işlevi giriş listesini temel alır: V=(V0,V1,V2,V3,V? ,VN), burada N öğe sayısı - 1'dir.
Giriş piksel yoğunluğu C olarak gösterilir. Çıkış piksel yoğunluğu C denklemi ile hesaplanır:
C değeri için aşağıdaki gibi bir k değeri seçin:
İşlemin formülünü 
C çıkışı şu denklem kullanılarak hesaplanabilir: C' = V?
Bu etki düz ve önceden yüklenmiş alfa görüntülerinde çalışır. Efekt, önceden çoğaltılmış alfa bit eşlemleri oluşturur.
Girişler [0.25, 0.5, 0.75, 1.0]ise ayrık aktarım işlevinin grafiği şöyle görünür: .
Ayrık aktarım işlevi için piksel yoğunluğu grafiğini 
Efekt özellikleri
Not
Ayrık aktarım özelliklerinin tüm kanallarının değerleri birimsizdir ve en az 0,0 ve en fazla 1,0'a sahiptir.
| Görünen ad ve dizin numaralandırması | Tür ve varsayılan değer | Açıklama |
|---|---|---|
| RedTable D2D1_DISCRETETRANSFER_PROP_RED_TABLE |
FLOAT[] {0,0f, 1,0f} |
Kırmızı kanal için aktarım işlevini tanımlamak için kullanılan değerlerin listesi. |
| RedDisable D2D1_DISCRETETRANSFER_PROP_RED_DISABLE |
BOOL YANLIŞ |
Bunu TRUE olarak ayarlarsanız, etki aktarım işlevini Kırmızı kanala uygulamaz. Bunu YANLIŞ olarak ayarlarsanız, etki RedDiscreteTransfer işlevini Red kanalına uygular. |
| GreenTable D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0,0f, 1,0f} |
Yeşil kanal için aktarım işlevini tanımlayan değerlerin listesi. |
| GreenDisable D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE |
BOOL YANLIŞ |
Bunu TRUE olarak ayarlarsanız, etki aktarım işlevini Yeşil kanala uygulamaz. Bunu YANLIŞ olarak ayarlarsanız, etki GreenDiscreteTransfer işlevini Yeşil kanala uygular. |
| BlueTable D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0,0f, 1,0f} |
Mavi kanal için aktarım işlevini tanımlayan değerlerin listesi. |
| BlueDisable D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE |
BOOL YANLIŞ |
Bunu TRUE olarak ayarlarsanız, etki aktarım işlevini Mavi kanala uygulamaz. Bunu YANLIŞ olarak ayarlarsanız, efekt BlueDiscreteTransfer işlevini Blue kanalına uygular. |
| AlphaTable D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0,0f, 1,0f} |
Alfa kanalı için aktarım işlevini tanımlayan değerlerin listesi. |
| AlphaDisable D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE |
BOOL YANLIŞ |
Bunu TRUE olarak ayarlarsanız, etki aktarım işlevini Alfa kanalına uygulamaz. Bunu YANLIŞ olarak ayarlarsanız, etki AlphaDiscreteTransfer işlevini Alfa kanalına uygular. |
| ClampOutput D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT |
BOOL YANLIŞ |
Efektin renk değerlerini efektten önce 0 ile 1 arasında bir değere sıkıştırıp bağlamadığı, değerleri grafikteki bir sonraki efekte geçirir. Etkisi, alfayı önceden yüklemeden önce değerleri sıkıştırıyor. Bunu TRUE olarak ayarlarsanız, efekt değerleri sıkıştıracaktır. Bunu YANLIŞ olarak ayarlarsanız, efekt renk değerlerini sıkıştırmaz, ancak diğer efektler ve çıkış yüzeyi yeterince yüksek duyarlıkta değilse değerleri sıkıştırabilir. |
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 |

