Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az árnyékeffektussal árnyékot hozhat létre egy kép alfa csatornájából. Az árnyék átlátszatlanabb a magasabb alfaértékek esetében, és áttetszőbb az alacsonyabb alfaértékek esetében. Beállíthatja az elmosódás mértékét és az árnyék színét.
- példakép
- Effektus tulajdonságai
- optimalizálási módok
- Kimeneti bitkép
- követelmények
- Kapcsolódó témakörök
Az effektus CLSID azonosítója CLSID_D2D1Shadow.
Példakép
Az alábbi példa az árnyékeffektus kimenetét mutatja le és jobbra, az eredeti helyen összetett forrásképpel. Az árnyékeffektus csak az árnyékot adja ki.
| Előtt |
|---|
|
| Után |
|
ComPtr<ID2D1Effect> shadowEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Shadow, &shadowEffect);
shadowEffect->SetInput(0, bitmap);
// Shadow is composited on top of a white surface to show opacity.
ComPtr<ID2D1Effect> floodEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Flood, &floodEffect);
floodEffect->SetValue(D2D1_FLOOD_PROP_COLOR, D2D1::Vector4F(1.0f, 1.0f, 1.0f, 1.0f));
ComPtr<ID2D1Effect> affineTransformEffect;
m_d2dContext->CreateEffect(CLSID_D2D12DAffineTransform, &affineTransformEffect);
affineTransformEffect->SetInputEffect(0, shadowEffect.Get());
D2D1_MATRIX_3X2_F matrix = D2D1::Matrix3x2F::Translation(20, 20));
affineTransformEffect->SetValue(D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX, matrix);
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInputEffect(0, floodEffect.Get());
compositeEffect->SetInputEffect(1, affineTransformEffect.Get());
compositeEffect->SetInput(2, bitmap);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Effektus tulajdonságai
| Név és index számbavételének megjelenítése | Leírás |
|---|---|
| BlurStandardDeviation D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION |
A kép alfa csatornájára alkalmazott elmosódás mennyisége. A kernel elmosódási sugarát úgy számíthatja ki, hogy megszorozza a szórást 3-mal. A szórás és az életlenítési sugár mértékegysége a DIP. Ez a tulajdonság megegyezik a Gauss-elmosás szórás tulajdonságával. A típus FLOAT. Az alapértelmezett érték 3,0f. |
| Szín D2D1_SHADOW_PROP_COLOR |
A vetett árnyék színe. Ez a tulajdonság a következőként definiált D2D1_VECTOR_4F: (R, G, B, A). Ezt a színt egyenes alfában kell megadnia. A típus D2D1_VECTOR_4F. Az alapértelmezett érték a következő: {0.0f, 0.0f, 0.0f, 1.0f}. |
| Optimalizálás D2D1_SHADOW_PROP_OPTIMIZATION |
A teljesítményoptimalizálás szintje. A típus D2D1_SHADOW_OPTIMIZATION. Az alapértelmezett érték a D2D1_SHADOW_OPTIMIZATION_BALANCED. |
Optimalizálási módok
| Név | Leírás |
|---|---|
| D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Belső optimalizálásokat alkalmaz, például az előskálázást viszonylag kis radii értéken. Lineáris szűrést használ. |
| D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Ugyanazokat az optimalizálási küszöbértékeket használja, mint a Sebesség mód, de trilineáris szűrést használ. |
| D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Csak belső optimalizálást használ nagy életlenítési radiival, ahol a közelítések kevésbé valószínűek. Trilineáris szűrést használ. |
Kimeneti bitkép
A kimeneti bitkép mérete az elmosódott kimenet mérete. A kimeneti bitkép eredeti bitképhez viszonyított növekedése az alábbi egyenlettel számítható ki:
Kimeneti bitkép növekedése (X és Y) = BlurStandardDeviation (eszközfüggetlen képpontok (DIP-k))*6*(Felhasználói DPI)/96
A kimenet minden irányban egyenlően növekszik, így például ha a méret minden irányban 10 képponttal nő, a bitkép bal felső sarka a (-5, -5) helyen található, a jobb alsó pedig (105, 105) lesz, ahogy az itt látható ábrán látható.
Követelmények
| Követelmény | Érték |
|---|---|
| Minimálisan támogatott ügyfél | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
| Minimálisan támogatott kiszolgáló | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
| Fejléc | d2d1effects.h |
| Könyvtár | d2d1.lib, dxguid.lib |