2013-10-31 7 views
8

हैलो, भले ही आपको लगता है कि एक समान प्रश्न था, मेरा this से काफी अलग है।पायगैम - लोड की गई छवि का आकार प्राप्त करना

मैं एक निर्देशिका से एक छवि लोड करने की कोशिश कर रहा हूं, और "पृष्ठभूमि" के रूप में लोड होने वाली छवि के आकार में अपना स्क्रीन आकार (स्वचालित रूप से) सेट कर रहा हूं।

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() 

छवि है कि मैं अपने साथ भरी हुई "लोड()" वर्ग चर "bg" पर सेट है और मैं जो कुछ भी मैं "bg" के रूप में लोड के आकार का उपयोग करने के लिए विंडो का आकार निर्धारित करना चाहते हैं । आप ले जाना

background = pygame.image.load(bg).convert() 

width = background.get_width() 
height = background.get_height() 

इस के शीर्ष पर प्रयास करें:

screen = pygame.display.set_mode((width,height),0,32) 

pygame एक त्रुटि, जिसमें यह कहा गया है कि प्रदर्शन मोड सेट नहीं है देता है। अगर मैं इस तरह यह कार्य करें:

screen = pygame.display.set_mode((width,height),0,32) 

background = pygame.image.load(bg).convert() 

width = background.get_width() 
height = background.get_height() 
निश्चित रूप से

, इस के बाद से चर "चौड़ाई" और "ऊंचाई" ") pygame.display.set_mode (" के उपयोग के लिए परिभाषित नहीं कर रहे हैं सच नहीं है,।

मुझे यह पता लगाना प्रतीत नहीं होता है, हालांकि मैं ओओ के माध्यम से हल करने के बावजूद, लेकिन मुझे लगता है कि मैं इसे समझ नहीं पा रहा हूं। कोई मदद?

धन्यवाद :)

उत्तर

7

इससे पहले कि आप किसी भी सतह पर convert() समारोह का उपयोग कर सकते हैं, स्क्रीन प्रारंभ कर दिया है की जरूरत है।

आप, आप set_mode से पहले छवियों को लोड कर सकते हैं उनके आकार मिलता है, और फिर उन्हें convert के बाद आप प्रदर्शन प्रारंभ कर दिया है ताकि तरह,:

import pygame 

pygame.init() 

image = pygame.image.load("file_to_load.jph") 
print image.get_rect().size # you can get size 

screen = pygame.display.set_mode(image.get_rect().size,0,32) 

image = image.convert() # now you can convert 
+0

आप 'छवि का उपयोग करके यहाँ एक कोने में कटौती कर सकते हैं। अस्थायी 'Rect' ऑब्जेक्ट से गुजरने के लिए' image.get_rect() आकार 'के बजाय get_size() '। – Augusta

+0

@ अगुस्ता आप अभी भी इस प्रश्न का अपना उत्तर लिख सकते हैं :) – furas

+0

मैं कर सकता था, लेकिन यह 'get_size()' चीज़ और कुछ गद्य के लिए शायद सहेजने वाला अर्थपूर्ण रूप से अलग नहीं होगा। यह वही बुनियादी समाधान होगा। ;) – Augusta

संबंधित मुद्दे