我正在尝试将800x600屏幕拉伸到全屏尺寸。我目前在800x600部分周围有黑色边框。我正在使用OpenGL的Win32 API。
进入全屏时调用:
DEVMODE dmScreenSettings;
memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
dmScreenSettings.dmSize = sizeof(dmScreenSettings);
dmScreenSettings.dmPelsWidth = win->width;
dmScreenSettings.dmPelsHeight = win->height;
dmScreenSettings.dmBitsPerPel = SCREEN_BPP;
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
有没有办法用DEVMODE拉伸?
注意:有一个.dmScale成员,但我没有运气。
答案 0 :(得分:0)
请勿更改显示设备模式。这样做会改变进入屏幕的物理信号,并可能弄乱用户Desktop的图标排列。用户不喜欢这样,不要冒犯用户。
如果只需要拉伸显示,请调整窗口大小以覆盖整个屏幕,并使用glViewport和投影矩阵的相应值。如果您发布绘图函数源代码,我可以给您更多建议。