最近、PyGame を使用して画像を表示する簡単なプログラムを開発し始めましたが、色の多い画像 (?) を読み込めないという問題に遭遇しました。最初のテストでは、いくつかのグラウンド トゥルース セグメンテーション イメージを使用していたので、すべて黒で、イメージのセグメント化された部分を示す 2 色でした。実際の画像を描画しようとすると、端末に黒い画像と次のエラーが表示されます。
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.
この問題に遭遇した人をインターネットで検索してみましたが、XCode (私は使用していません) で無効なコンテキストの問題を抱えている人しか見つかりませんでした。
そのために、ここに私が書いた簡単なコードを示します。謎ではありません。
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)
Python 2.7.12、OSX 10.12 Sierra、PyGame 1.9.2 を実行しています。
編集:すべて黒のPNGファイルを試してみたところ、同じエラーが発生しました。何が起こっているのかわかりません。
編集 2: PNG ファイルを読み込んで表示する PyGame サンプル コード (pygame.examples.scaletest) を実行しようとしましたが、同じエラーが発生したため、Sierra の更新の問題であると推測しています。