python pygame cgcontext cgcontextdrawimage

python - PyGame en MacOSX: CGContextDrawImage: contexto inválido 0x0



(3)

Recientemente comencé a usar PyGame para desarrollar un programa simple que muestra una imagen, pero me encontré con un problema donde no puedo cargar imágenes con mucho color (?). Durante mis primeras pruebas, estaba usando algunas imágenes de segmentación de la verdad del terreno, por lo que todo era negro y dos colores que delimitaban la porción segmentada de la imagen. Cuando intenté dibujar la imagen real, aparecería una imagen negra y el siguiente error en la terminal:

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.

Intenté buscar en Internet personas que se hayan topado con este problema, pero todo lo que pude encontrar es que las personas tienen el problema de contexto no válido en XCode (que no estoy usando).

Por el bien de esto, aquí está el código simple que escribí, no hay misterio:

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)

Estoy ejecutando Python 2.7.12, OSX 10.12 Sierra y PyGame 1.9.2.

Editar: Acabo de probar con un archivo PNG que es todo negro y se producen los mismos errores. No sé que está pasando.

Edición 2: Intenté ejecutar el código de ejemplo PyGame que carga un archivo PNG y lo muestra (pygame.examples.scaletest) y ocurre el mismo error, así que supongo que es un problema de actualización de Sierra.


Tuve el mismo problema después de actualizar a Sierra. Mi solución fue desinstalar y reinstalar PyGame.


Además de desinstalar pygame, también tuve que desinstalar lo siguiente:

brew uninstall sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi

Luego reinstala:

brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi

A continuación, después:

python -m pip install pygame

Comenzó a funcionar de nuevo.


Tengo el mismo problema en Sierra para python3.

  • Primero, actualicé de 3.5 a 3.6.1.
  • En segundo lugar, reduzco la calificación del pygame.
  • Desinstalar pip3 uninstall pygame ==> Desinstalar 1.9.4
  • Instalar pip3 install pygame ==> Instalar 1.9.3