“CreateDC 失败,屏幕尺寸信息可能不正确”

Posted

技术标签:

【中文标题】“CreateDC 失败,屏幕尺寸信息可能不正确”【英文标题】:"CreateDC failed, Screen size info may be incorrect" 【发布时间】:2020-12-17 20:23:33 【问题描述】:

我正在尝试将OpenGL 与 python 一起使用。我在 Windows 10 机器上安装了 Pyton 3.7.4。

我从.whl文件中下载了PyOpenGLPyOpenGL_accelerate,我已经分别下载了freeglut.dll文件,并将其放在与我正在运行的脚本相同的目录中。

我的初始脚本只是:

import OpenGL
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *

glutInit()

给出以下错误信息:

freeglut (foo): fgPlatformInitialize: CreateDC failed, Screen size 信息可能不正确 这很可能是由错误的“-显示”引起的 参数

(没有freeglut.dll 文件,它会给出NameError 投诉glutInit() 未定义)。

我在 this question 上看到了错误,但是 a) 他们是用 C/C++ 做的,b) 答案没有说 在哪里 必须做出改变。

对我应该做什么有什么想法吗?

更新

问题可能是这样的:

import os
os.getenv('DISPLAY')
# 'needs-to-be-defined'

我应该怎么称呼这个环境变量?

【问题讨论】:

【参考方案1】:

我刚刚在我的脚本开头添加了这段代码并且它起作用了:

import os
try:
    del os.environ['DISPLAY']
except:
    pass

理想情况下,我会删除所有进程的 DISPLAY 环境变量,但我没有管理。

【讨论】:

【参考方案2】:

glutInit(["-display","0"]) - 作为一个基于的想法:

https://www.opengl.org/resources/libraries/glut/spec3/node10.html

【讨论】:

现在的错误是“freeglut (-display): fgPlatformInitialize: CreateDC failed, Screen size info may be wrong 这很可能是由错误的'-display'参数引起的” 我也会尝试空字符串而不是"0"

以上是关于“CreateDC 失败,屏幕尺寸信息可能不正确”的主要内容,如果未能解决你的问题,请参考以下文章