Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MacOSX中的PyGame:CGContextDrawImage:无效上下文0x0_Python_Pygame_Cgcontext_Cgcontextdrawimage - Fatal编程技术网

Python MacOSX中的PyGame:CGContextDrawImage:无效上下文0x0

Python MacOSX中的PyGame:CGContextDrawImage:无效上下文0x0,python,pygame,cgcontext,cgcontextdrawimage,Python,Pygame,Cgcontext,Cgcontextdrawimage,我最近开始使用PyGame开发一个显示图像的简单程序,但是我遇到了一个问题,我无法加载大量颜色的图像(?)。在我的第一次测试中,我使用了一些地面真实分割图像,因此图像的分割部分都是黑色和两种颜色。当我尝试绘制真实图像时,它会在终端中显示黑色图像和以下错误: Oct 24 00:50:08 python[4371] <Error>: CGBitmapContextInfoCreate: CGColorSpace does't support output Oct 24 00:50:0

我最近开始使用PyGame开发一个显示图像的简单程序,但是我遇到了一个问题,我无法加载大量颜色的图像(?)。在我的第一次测试中,我使用了一些地面真实分割图像,因此图像的分割部分都是黑色和两种颜色。当我尝试绘制真实图像时,它会在终端中显示黑色图像和以下错误:

Oct 24 00:50:08  python[4371] <Error>: CGBitmapContextInfoCreate: CGColorSpace does't support output
Oct 24 00:50:08  python[4371] <Error>: CGContextDrawImage: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
我正在运行Python 2.7.12、OSX 10.12和PyGame 1.9.2

编辑:我刚刚尝试了一个全黑的PNG文件,同样的错误也发生了。我不知道发生了什么事


编辑2:我尝试运行PyGame示例代码来加载PNG文件并显示它(PyGame.examples.scaletest),同样的错误也发生了,所以我猜这是Sierra更新问题。

升级到Sierra后,我遇到了同样的问题。
我的解决方案是卸载并重新安装PyGame。

除了卸载PyGame,我还必须卸载以下内容:

brew卸载sdl sdl\u图像sdl\u混音器sdl\u ttf smpeg portmidi

然后重新安装:

brew安装sdl sdl\u图像sdl\u混合器sdl\u ttf smpeg portmidi

然后:

python-mpip安装pygame


它又开始工作了。

我在Sierra为python3发布了同样的问题

  • 首先,我从3.5升级到了3.6.1
  • 其次,我降低了pygame的评级
  • 卸载pip3卸载pygame==>卸载1.9.4
  • 安装pip3安装pygame==>安装1.9.3

您发布的代码使用brew安装的python 2.7.12,结合
sudo python-m pip install pygame
brew install libpng
@user2588654在Sierra上运行,您在上面使用了什么图像?只有几张照片对我有用,也许你运气好。我已经更新了python。谢谢我用python徽标在线图像进行了尝试,效果很好。也许提供一个链接到一个失败的图像,我可以测试它。另外,您是否尝试过调用
pygame.image.load(imageName).convert()
.convert\u alpha()
?不确定这是否有帮助,但它确实提高了blit的性能。谢谢!为我工作:)在logstalgia渲染表示请求的彩色球时遇到问题。
    import pygame
    import glob
    import os

    pygame.init()
    screen = pygame.display.set_mode((640, 640))

    imageName = '2.png'
    myimage = pygame.image.load(imageName)
    imagerect = myimage.get_rect()


    while 1:
        screen.fill((255,0,255))
        screen.blit(myimage, imagerect)
        pygame.display.flip()
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit(0)