Cara Membuat Klip dengan Persegi Klip Axis-Aligned

Topik ini menjelaskan cara mengklip gambar dengan persegi klip yang selaras dengan sumbu. Pendekatan ini hanya menghasilkan klip persegi panjang, karena batas konten diselaraskan dengan sumbu persegi panjang. Pendekatan ini lebih efisien daripada menggunakan lapisan dengan batas konten. Untuk informasi selengkapnya, lihatGambaran Umum Lapisan.

Untuk mengklip dengan persegi klip rata sumbu

  1. Muat gambar asli dari sumber daya. Untuk informasi tentang cara memuat bitmap, lihat Cara Memuat Bitmap dari Sumber Daya.

  2. Panggil ID2D1RenderTarget::P ushAxisAlignedClip untuk menentukan persegi panjang. Perintah penyajian diklip ke persegi panjang.

  3. Cat gambar aslinya.

  4. Panggil ID2D1RenderTarget::P opAxisAlignedClip untuk menghapus klip rata sumbu terakhir dari target render.

Misalnya, dalam ilustrasi berikut, bitmap asli di sebelah kiri adalah 200* 130 piksel. Bitmap di sebelah kanan adalah bitmap asli yang diklip ke persegi klip rata sumbu. Dimensinya adalah (20, 20) hingga (100, 100).

ilustrasi bitmap ikan mas sebelum dan sesudah bitmap terpotong

Untuk membuat gambar yang diklip, buat struktur persegi panjang sebagai area kliping. Panggil PushAxisAlignedClip dengan area kliping dan cat gambar asli. Panggil PopAxisAlignedClip untuk menghapus klip dari target render. Kode berikut menunjukkan cara melakukannya.

pRT->PushAxisAlignedClip(
    D2D1::RectF(20, 20, 100, 100),
    D2D1_ANTIALIAS_MODE_PER_PRIMITIVE
    );

pRT->FillRectangle(D2D1::RectF(0, 0, 200, 133), m_pOriginalBitmapBrush);
pRT->PopAxisAlignedClip();

Referensi Direct2D