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
GM_COMPATIBLE
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.
GM_ADVANCED
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:

  1. 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.

  2. 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.

  3. 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

CreateDC

GetArcDirection

GetDC

GetGraphicsMode

ModifikasiWorldTransform

SetArcDirection

SetViewportExtEx

SetViewportExtent

SetWindowExtExtEx

SetWindowExtent

SetWorldTransform