Bagikan melalui


Efek rotasi hue

Gunakan efek rotasi hue untuk mengubah warna gambar dengan menerapkan matriks warna berdasarkan sudut rotasi.

CLSID untuk efek ini CLSID_D2D1HueRotation.

Contoh gambar

Contoh di sini menunjukkan gambar input dan output efek rotasi hue dengan sudut rotasi 270 derajat.

Sebelum
gambar sebelum efek.
Sesudah
gambar setelah transformasi.
ComPtr<ID2D1Effect> hueRotationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1HueRotation, &hueRotationEffect);

hueRotationEffect->SetInput(0, bitmap);
hueRotationEffect->SetValue(D2D1_HUEROTATION_PROP_ANGLE, 270.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(hueRotationEffect.Get());
m_d2dContext->EndDraw();

Efek menghitung matriks warna berdasarkan sudut rotasi (?) yang Anda tentukan dengan properti D2D1_HUEROTATION_PROP_ANGLE. Berikut adalah persamaan matriks.

Matriks yang dibuat hanya bergantung pada sudut rotasi. Anda dapat menggunakan efek matriks warna jika Anda memerlukan matriks tertentu.

Properti efek

Nama tampilan dan enumerasi indeks Ketik dan nilai default Deskripsi
Sudut
D2D1_HUEROTATION_PROP_ANGLE
MENGAPUNG
0.0f
Sudut untuk memutar rona, dalam derajat.

Bitmap output

Ukuran bitmap output sama dengan ukuran bitmap input.

Persyaratan

Syarat Nilai
Klien minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Server minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Header d2d1effects.h
Perpustakaan d2d1.lib, dxguid.lib

ID2D1Effect