Witaj, nawet jeśli możesz myśleć, że było podobne pytanie, moje jest całkiem inne niż this.PyGame - Pobieranie rozmiaru wczytanego obrazu
Próbuję załadować obraz z katalogu i ustawić rozmiar ekranu (automatycznie) na rozmiar obrazu ładowanego jako "tło".
import pygame
import sys
from pygame.locals import *
image_resources = "C:/Users/user/Desktop/Pygame App/image_resources/"
class load:
def image(self, image):
self.image = image
return (image_resources + image)
def texture(self, texture):
self.texture = texture
return (image_resources + texture)
bg = load().image("bg_solid_black.jpg")
pygame.init()
#screen = pygame.display.set_mode((width,height),0,32)
#background = pygame.image.load(bg).convert()
#width = background.get_width()
#height = background.get_height()
Obraz że ładowane z moim „load()” klasa jest ustawiony w zmiennej „bg” i chcę użyć rozmiaru cokolwiek załadować jako „bg”, aby określić rozmiar okna . Jeśli chcesz przenieść
background = pygame.image.load(bg).convert()
width = background.get_width()
height = background.get_height()
Oprócz tego:
screen = pygame.display.set_mode((width,height),0,32)
Pygame zwraca błąd, w którym stwierdza się, że tryb wyświetlania nie jest ustawiony. Jeśli mogę to zrobić tak:
screen = pygame.display.set_mode((width,height),0,32)
background = pygame.image.load(bg).convert()
width = background.get_width()
height = background.get_height()
oczywiście, nie jest to prawdą, ponieważ zmienne „szerokość” i „wysokość” nie są zdefiniowane na użytek „pygame.display.set_mode()”.
Nie wydaje mi się, że to rozumiem, chociaż rozwiązałem go w sposób OO, ale po prostu nie mogę tego rozgryźć. Jakaś pomoc?
Dzięki :)
Można wyciąć narożnik tutaj za pomocą 'obraz. get_size() 'zamiast' image.get_rect(). size', rezygnując z tymczasowego obiektu 'Rect'. – Augusta
@Augusta wciąż możesz napisać własną odpowiedź na to pytanie :) – furas
Mogłem, ale nie byłoby to istotnie różne od tego, z wyjątkiem może dla 'get_size()' i trochę prozy. Byłoby to samo podstawowe rozwiązanie. ;) – Augusta