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