Efek komposit
Gunakan efek komposit untuk menggabungkan 2 gambar atau lebih. Efek ini memiliki 13 mode komposit yang berbeda. T
Efek komposit menerima 2 input atau lebih. Saat Anda menentukan 2 gambar, tujuannya adalah input pertama (indeks 0) dan sumbernya adalah input kedua (indeks 1). Jika Anda menentukan lebih dari 2 input, gambar dikomposisikan dimulai dengan input pertama dan yang kedua dan sebagainya.
Efek ini mengimplementasikan semua mode menggunakan unit campuran unit pemrosesan grafis (GPU).
CLSID untuk efek ini CLSID_D2D1Composite.
Contoh gambar
Gambar di sini menunjukkan 2 persegi panjang bulat dengan ukuran yang sama yang tumpang tindih. Persegi panjang biru adalah sumber dan persegi panjang merah adalah tujuannya. Gambar dikomposisikan dengan mode Source Over.
Berikut adalah contoh lain menggunakan mode default.
Sebelum gambar 1 |
---|
Sebelum gambar 2 |
Sesudahnya |
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInput(0, bitmap);
compositeEffect->SetInput(1, bitmapTwo);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Properti efek
Nama tampilan dan enumerasi indeks | Ketik dan nilai default | Deskripsi |
---|---|---|
Mode D2D1_COMPOSITE_PROP_MODE |
D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE_SOURCE_OVER |
Mode yang digunakan untuk efek. |
Jenis mode
Tabel di sini memperlihatkan mode efek ini. Persamaan yang tercantum dalam tabel menggunakan elemen-elemen ini:
- O = Output
- S = Sumber
- SA = Alfa Sumber
- D = Tujuan
- DA = Alfa Tujuan
Enumeration | Persamaan | Ukuran Bitmap Output |
---|---|---|
D2D1_COMPOSITE_MODE_SOURCE_OVER | O = S + (1 SA) * D | Penyatuan bitmap sumber dan tujuan |
D2D1_COMPOSITE_MODE_DESTINATION_OVER | O = (1 DA) * S + D | Penyatuan bitmap sumber dan tujuan |
D2D1_COMPOSITE_MODE_SOURCE_IN | O = DA * S | Persimpangan bitmap sumber dan tujuan |
D2D1_COMPOSITE_MODE_DESTINATION_IN | O = SA * D | Persimpangan bitmap sumber dan tujuan |
D2D1_COMPOSITE_MODE_SOURCE_OUT | O = (1 - DA) * S | Wilayah bitmap sumber |
D2D1_COMPOSITE_MODE_DESTINATION_OUT | O = (1 - SA) * D | Wilayah bitmap tujuan |
D2D1_COMPOSITE_MODE_SOURCE_ATOP | O = DA * S + (1 - SA) * D | Wilayah bitmap tujuan |
D2D1_COMPOSITE_MODE_DESTINATION_ATOP | O = (1 - DA) * S + SA * D | Wilayah bitmap sumber |
D2D1_COMPOSITE_MODE_XOR | O = (1 - DA) * S + (1 - SA) * D | Penyatuan bitmap sumber dan tujuan |
D2D1_COMPOSITE_MODE_PLUS | O = S + D | Penyatuan bitmap sumber dan tujuan |
D2D1_COMPOSITE_MODE_SOURCE_COPY | O = S | Wilayah bitmap sumber |
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY | O = S (hanya di mana sumber ada) | Penyatuan bitmap sumber dan tujuan. Tujuan tidak ditimpa di mana sumber tidak ada. |
D2D1_COMPOSITE_MODE_MASK_INVERT | O = (1 D) * S + (1 SA) * D | Penyatuan bitmap sumber dan tujuan. Nilai alfa tidak berubah. |
Gambar di sini menunjukkan contoh masing-masing mode dengan gambar yang memiliki tingkat keburaman 1,0 atau 0,5.
Kode sampel
Untuk contoh efek ini, unduh sampel mode efek komposit Direct2D.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Server minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Header | d2d1effects.h |
Pustaka | d2d1.lib, dxguid.lib |
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk