Bagikan melalui


Efek pemangkasan

Gunakan efek pemangkasan untuk menghasilkan wilayah gambar tertentu.

CLSID untuk efek ini CLSID_D2D1Crop.

Contoh gambar

Sebelumnya
gambar sebelum efek.
Sesudahnya
gambar setelah transformasi.
ComPtr<ID2D1Effect> cropEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Crop, &cropEffect);

cropEffect->SetInput(0, bitmap);
cropEffect->SetValue(D2D1_CROP_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));

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

Properti efek

Nama tampilan dan enumerasi indeks Ketik dan nilai default Deskripsi
Rect
D2D1_VECTOR_4F
Wilayah yang akan dipangkas ditentukan sebagai vektor dalam formulir (kiri, atas, lebar, tinggi).
D2D1_CROP_PROP_RECT
{-FLT_MAX, -FLT_MAX, FLT_MAX, FLT_MAX}
Unit berada di DIP.
Catatan:
Rect akan dipotong jika tumpang tindih dengan batas tepi gambar input.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT : Jika persegi panjang pemangkasan jatuh pada koordinat piksel pecahan, efeknya menerapkan antialias yang menghasilkan tepi lembut.
  • D2D1_BORDER_MODE_HARD : Jika persegi panjang pemangkasan jatuh pada koordinat piksel pecahan, efek menjepit yang menghasilkan tepi keras.

Bitmap output

Output dari efek ini adalah ukuran properti Rect. Panjang dan lebarnya kals

diurutkan menggunakan persamaan di sini:

Panjang output dalam Pixels=(Rect.Right-Rect.Left)*(DPI/96 Pengguna)
Tinggi output dalam pixels=(Rect.Bottom-Rect.Top)*(DPI/96 Pengguna)

Persyaratan

Persyaratan 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
Pustaka d2d1.lib, dxguid.lib

ID2D1Effect