Bagikan melalui


Operasi pada Objek Grafis

Setelah aplikasi membuat DC tampilan atau printer, aplikasi dapat mulai menggambar pada perangkat terkait atau, dalam kasus DC memori, aplikasi dapat mulai menggambar pada bitmap yang disimpan dalam memori. Namun, sebelum menggambar dimulai, dan kadang-kadang saat menggambar sedang berlangsung, sering kali perlu untuk mengganti objek default dengan objek baru.

Aplikasi dapat memeriksa atribut objek default dengan memanggilGetCurrentObject dan fungsi GetObject. Fungsi GetCurrentObject mengembalikan handel yang mengidentifikasi pena, kuas, palet, bitmap, atau font saat ini, dan fungsi GetObject menginisialisasi struktur yang berisi atribut objek tersebut.

Beberapa printer menyediakan pena, kuas, dan font penghuni yang dapat digunakan untuk meningkatkan kecepatan menggambar dalam aplikasi. Dua fungsi dapat digunakan untuk menghitung objek ini: EnumObjects dan EnumFontFamilies. Jika aplikasi harus menghitung pena atau kuas penduduk, aplikasi dapat memanggil fungsi EnumObjects untuk memeriksa atribut yang sesuai. Jika aplikasi harus menghitung font penduduk, aplikasi dapat memanggil fungsi EnumFontFamilies (yang juga dapat menghitung font GDI).

Setelah aplikasi menentukan bahwa objek default perlu diganti, aplikasi membuat objek baru dengan memanggil salah satu fungsi pembuatan berikut.

Objek grafik Fungsi
Bitmap CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDiscardableBitmap, CreateDIBitmap
Sikat CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush
Palet Warna CreatePalette
Font CreateFont, CreateFontIndirect
Pena CreatePen, CreatePenIndirect, ExtCreatePen
Wilayah CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn

 

Masing-masing fungsi ini mengembalikan handel yang mengidentifikasi objek baru. Setelah aplikasi mengambil handel, aplikasi harus memanggil fungsiSelectObject untuk mengganti objek default. Namun, aplikasi harus menyimpan handel yang mengidentifikasi objek default dan menggunakan handel ini untuk menggantikan objek baru ketika tidak lagi diperlukan. Ketika aplikasi selesai menggambar dengan objek baru, aplikasi harus memulihkan objek default dengan memanggil fungsi SelectObject lalu menghapus objek baru dengan memanggil fungsiDeleteObject. Gagal menghapus objek menyebabkan masalah performa yang serius.