Bagikan melalui


Wilayah Kliping

Wilayah kliping adalah salah satu objek grafik yang dapat dipilih aplikasi ke dalam konteks perangkat (DC). Biasanya persegi panjang. Beberapa konteks perangkat menyediakan wilayah kliping yang telah ditentukan atau default sementara yang lain tidak. Misalnya, jika Anda mendapatkan handle konteks perangkat dari fungsi BeginPaint, DC berisi wilayah kliping persegi panjang yang telah ditentukan sebelumnya yang sesuai dengan persegi panjang yang tidak valid dan memerlukan pengecatan ulang. Namun, ketika Anda mendapatkan handel konteks perangkat dengan memanggil fungsiGetDC dengan parameter NULLhWnd, atau dengan memanggil fungsiCreateDC, DC tidak berisi wilayah kliping default. Untuk informasi selengkapnya tentang konteks perangkat yang dikembalikan oleh fungsi BeginPaint, lihat Melukis dan Menggambar. Untuk informasi selengkapnya tentang konteks perangkat yang dikembalikan oleh fungsi CreateDC dan GetDC, lihat Konteks Perangkat.

Aplikasi dapat melakukan berbagai operasi pada wilayah kliping. Beberapa operasi ini memerlukan penanda untuk mengidentifikasi wilayah dan beberapa tidak. Misalnya, aplikasi dapat melakukan operasi berikut langsung di wilayah kliping konteks perangkat.

  • Tentukan apakah output grafis muncul dalam batas wilayah dengan meneruskan koordinat baris, busur, bitmap, teks, atau bentuk terisi yang sesuai ke fungsiPtVisible.
  • Tentukan apakah bagian dari area klien berpotongan dengan suatu region dengan memanggil fungsi RectVisible.
  • Pindahkan wilayah yang ada dengan offset tertentu dengan memanggil fungsi OffsetClipRgn.
  • Kecualikan bagian persegi panjang area klien dari wilayah kliping saat ini dengan memanggil fungsi ExcludeClipRect.
  • Gabungkan bagian persegi panjang dari area klien dengan wilayah kliping saat ini dengan memanggil fungsi IntersectClipRect.

Setelah mendapatkan handle yang mengidentifikasi daerah kliping, aplikasi dapat melakukan operasi apa pun yang umum pada daerah tersebut, seperti:

  • Menggabungkan salinan wilayah kliping sekarang dengan wilayah kedua menggunakan fungsi CombineRgn .
  • Bandingkan salinan wilayah kliping saat ini dengan wilayah kedua dengan memanggil fungsiEqualRgn.
  • Tentukan apakah titik terletak di dalam interior salinan wilayah kliping saat ini dengan memanggil fungsi PtInRegion.