Bagikan melalui


Efek pemangkasan

Gunakan efek pemangkasan untuk menghasilkan wilayah gambar tertentu.

CLSID untuk efek ini CLSID_D2D1Crop.

Contoh gambar

Sebelum
gambar sebelum efek.
Sesudah
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 dalam 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 antialisis 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 lebar kalkulasi

diurai 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

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