Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menentukan resolusi optimum untuk tetingkap OpenGL skrin penuh dalam Winapi (C/C )?

Bagaimanakah saya boleh menentukan resolusi optimum untuk tetingkap OpenGL skrin penuh dalam Winapi (C/C )?

Barbara Streisand
Barbara Streisandasal
2024-10-26 10:24:03202semak imbas

How can I determine the optimal resolution for a fullscreen OpenGL window in Winapi (C/C  )?

Mengesan Resolusi Skrin Semasa dalam Winapi (C/C )

Dalam dunia skrin LCD hari ini, menentukan resolusi optimum untuk tetingkap skrin penuh OpenGL yang baru dibuat adalah penting. untuk menyampaikan pengalaman pengguna yang lancar. Winapi menyediakan beberapa kaedah untuk mendapatkan semula maklumat resolusi skrin, memenuhi kes penggunaan yang berbeza.

Resolusi Monitor Utama

Untuk mendapatkan saiz monitor utama, anda boleh menggunakan fungsi Winapi berikut:

  • GetSystemMetrics(SM_CXSCREEN) untuk dimensi mendatar
  • GetSystemMetrics(SM_CYSCREEN) untuk dimensi menegak

Sebagai alternatif, GetDeviceCaps juga boleh digunakan untuk tujuan ini.

Resolusi Monitor Gabungan

Untuk menentukan saiz gabungan semua monitor dalam sistem, gunakan:

  • GetSystemMetrics(SM_CXVIRTUALSCREEN) untuk dimensi mendatar
  • GetSystemMetrics(SM_CYVIRTUALSCREEN) untuk dimensi menegak

Resolusi Kawasan Kerja

Untuk saiz kawasan kerja (tidak termasuk bar tugas dan bar berdok) pada monitor utama, gunakan:

  • SystemParametersInfo(SPI_GETWORKAREA)

Resolusi Monitor Khusus

Untuk mendapatkan semula saiz monitor tertentu (termasuk kedua-dua kawasan kerja dan skrin):

  • GetMonitorInfo

Nota: Adalah penting untuk diingat bahawa koordinat monitor tidak selalu bermula pada 0x0. Oleh itu, mengetahui saiz sahaja tidak mencukupi untuk meletakkan tetingkap dengan tepat. Gunakan MonitorFromWindow untuk mengenal pasti monitor di mana tetingkap anda berada dan kemudian memanggil GetMonitorInfo.

Kawalan Tahap Rendah

Untuk mengakses pengurusan resolusi peringkat rendah atau menukar tetapan skrin, pertimbangkan fungsi berikut :

  • EnumDisplayDevices: Hitung peranti paparan
  • EnumDisplaySettings: Hitungkan tetapan paparan yang disokong
  • Ubah Tetapan Paparan: Ubah suai tetapan paparan

Ini adalah pendekatan amat berguna untuk mendapatkan semula kadar muat semula skrin (tidak disediakan secara langsung oleh GetDeviceCaps) atau melaraskan resolusi.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menentukan resolusi optimum untuk tetingkap OpenGL skrin penuh dalam Winapi (C/C )?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn