Fungsi SetGraphicsMode (wingdi.h)
Fungsi SetGraphicsMode mengatur mode grafis untuk konteks perangkat yang ditentukan.
Sintaks
int SetGraphicsMode(
[in] HDC hdc,
[in] int iMode
);
Parameter
[in] hdc
Handel ke konteks perangkat.
[in] iMode
Mode grafik. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Mengatur mode grafis yang kompatibel dengan Windows 16-bit. Ini adalah mode default. Jika nilai ini ditentukan, aplikasi hanya dapat memodifikasi transformasi dunia ke perangkat dengan memanggil fungsi yang mengatur jangkauan dan asal jendela dan viewport, tetapi tidak dengan menggunakan SetWorldTransform atau ModifyWorldTransform; panggilan ke fungsi tersebut akan gagal. Contoh fungsi yang mengatur jangkauan dan asal jendela dan viewport adalah SetViewportExtEx dan SetWindowExtEx. |
|
Mengatur mode grafis tingkat lanjut yang memungkinkan transformasi dunia. Nilai ini harus ditentukan jika aplikasi akan mengatur atau memodifikasi transformasi dunia untuk konteks perangkat yang ditentukan. Dalam mode ini semua grafik, termasuk output teks, sepenuhnya sesuai dengan transformasi dunia-ke-perangkat yang ditentukan dalam konteks perangkat. |
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah mode grafik lama.
Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
Ada tiga area di mana output grafis berbeda sesuai dengan mode grafis:
-
Output Teks: Dalam mode GM_COMPATIBLE, output teks TrueType (atau font vektor) bersifat sama seperti output teks font raster sehubungan dengan transformasi dunia-ke-perangkat di DC. Teks TrueType selalu ditulis dari kiri ke kanan dan kanan ke atas, meskipun grafik lainnya akan dibalik pada sumbu x atau y. Hanya tinggi teks TrueType (atau font vektor) yang diskalakan. Satu-satunya cara untuk menulis teks yang tidak horizontal dalam mode GM_COMPATIBLE adalah dengan menentukan escapement dan orientasi bukan nol untuk font logis yang dipilih dalam konteks perangkat ini.
Dalam mode GM_ADVANCED, output teks TrueType (atau font vektor) sepenuhnya sesuai dengan transformasi dunia ke perangkat dalam konteks perangkat. Font raster hanya memiliki kemampuan transformasi yang sangat terbatas (membentang oleh beberapa faktor bilangan bulat). Antarmuka perangkat grafis (GDI) mencoba menghasilkan output terbaik yang dapat dilakukannya dengan font raster untuk transformasi nontrivial.
-
Pengecualian Persegi Panjang: Jika mode grafik GM_COMPATIBLE default diatur, sistem mengecualikan tepi bawah dan paling kanan saat menggambar persegi panjang.
Mode grafik GM_ADVANCED diperlukan jika aplikasi ingin menggambar persegi panjang yang inklusif kanan bawah.
-
Gambar Arc: Jika mode grafik GM_COMPATIBLE default diatur, GDI akan menggambar busur menggunakan arah busur saat ini ke ruang perangkat. Dengan konvensi ini, busur tidak menghormati transformasi halaman-ke-perangkat yang memerlukan flip di sepanjang sumbu x atau y.
Jika mode grafik GM_ADVANCED diatur, GDI selalu menggambar busur ke arah berlawanan arah jagat arah dalam ruang logis. Ini setara dengan pernyataan bahwa, dalam mode grafik GM_ADVANCED, baik titik kontrol busur maupun busur itu sendiri sepenuhnya menghormati transformasi dunia-ke-perangkat konteks perangkat.
Contoh
Misalnya, lihat Menggunakan Ruang Koordinat dan Transformasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wingdi.h (sertakan Windows.h) |
Pustaka | Gdi32.lib |
DLL | Gdi32.dll |
Lihat juga
Fungsi Ruang Koordinat dan Transformasi
Gambaran Umum Ruang Koordinat dan Transformasi
SetViewportExtEx
SetWindowExtExtEx