मैं स्क्रीन के एक हिस्से को परिप्रेक्ष्य में बदलने के लिए पीआईएल का उपयोग कर रहा हूं। मूल छवि-डेटा एक पायगम सतह है जिसे पीआईएल छवि में परिवर्तित करने की आवश्यकता है।एक pygame सतह से एक पीआईएल छवि को कैसे परिवर्तित करें?
इसलिए मुझे उस उद्देश्य के लिए मौजूद पायगम का टॉस्ट्रिंग-फ़ंक्शन मिला।
हालांकि परिणाम बहुत अजीब दिखता है (संलग्न स्क्रीनशॉट देखें)। इस कोड के साथ क्या गलत हो रहा है:
rImage = pygame.Surface((1024,768))
#draw something to the Surface
sprite = pygame.sprite.RenderPlain((playboard,))
sprite.draw(rImage)
pil_string_image = pygame.image.tostring(rImage, "RGBA",False)
pil_image = Image.fromstring("RGBA",(660,660),pil_string_image)
मैं क्या गलत कर रहा हूं?
ऐसा लगता है कि आप (1024,768) (660,660) के स्थान पर रखते हैं, या इसके विपरीत? –
यह काम करता है, लेकिन क्यों? – Hedge
[pygame डॉक्स] (http://www.pygame.org/docs/ref/image.html#pygame.image.fromstring) pygame.image.fromstring (स्ट्रिंग, आकार, प्रारूप, फ़्लिप = गलत) के बारे में कहते हैं "द आकार और स्वरूप छवि को पास किए गए स्ट्रिंग बफर के समान सटीक आकार की गणना करनी चाहिए। अन्यथा एक अपवाद उठाया जाएगा "लेकिन उससे परे मुझे नहीं पता कि यह कैसे काम करता है। –