Как отобразить изображения, загруженные с помощью подушки с Pygame в Python 3.7? - PullRequest
1 голос
/ 10 июля 2019

Я импортировал изображение в свой проект, используя

from PIL import Image
myImage = Image.open("myImageDirectory.png")

Так что myImage теперь импортируется как файл png.Но я хочу отобразить его на экране с помощью Pygame.Обычно я использую

import pygame
win = pygame.display.set_mode((500, 500))
win.blit(myImage, (50, 50))

Теперь я получаю сообщение об ошибке, что функции нужна поверхность, а не файл PNG.У кого-нибудь есть идеи, как я могу преобразовать изображение в поверхность или как я могу его отобразить?

Я еще не очень старался, потому что не нашел ничего, что могло бы решить мою проблему.

Редактировать:

Что не так с этим способом, который я получаю сообщение об ошибке: Не удалось открыть bg.png

1 Ответ

0 голосов
/ 10 июля 2019

Используйте Image.tobytes() для получения данных изображения в виде байтового объекта и pygame.image.fromstring() для загрузки данных в объект pygame.Surface:

from PIL import Image
import pygame
pilImage = Image.open("myImageDirectory.png")
myImage = pygame.image.fromstring(pilImage.tobytes(), pilImage.size, pilImage.mode)
...