7

मैं पाइथन और पीआईएल या पायथन मैजिक का उपयोग कर जीआईएफ एनीमेशन छवि का आकार बदलना चाहता हूं। मुझे समाधान नहीं मिल रहा है। पीआईएल और थंबनेल विधि jpg और png के लिए काम करती है लेकिन gif के लिए नहीं। ImageMagick में mogrify/convert -resize '1280x1024>' कमांड है लेकिन मुझे दस्तावेज़ीकरण नहीं मिल रहा है और मुझे नहीं पता कि इसे पायथनमैगिक के साथ कैसे किया जाए।जीआईएफ एनीमेशन का आकार बदलें, पायल/इमेजमैजिक, पायथन

कोई भी समाधान जानता है?

सबसे खराब स्थिति मैं ओएस/उपप्रक्रिया का उपयोग करें और परिवर्तित में, एस

धन्यवाद।

+1

मैं इस बात का पुनर्मूल्यांकन करता हूं कि आप इस दौरान ही करते हैं - उपप्रोसेसर का उपयोग करें और कनवर्ट करें। पायथनमैजिक उचित रखरखाव की कमी से पीड़ित है - और पीआईएल एनिमेटेड जीआईएफ पढ़ने का समर्थन करता है, और कुछ नहीं। प्रश्न को खुला छोड़ दें - शायद यह हो सकता है कि किसी व्यक्ति ने पायथनमैजिक के साथ आकार बदलने के लिए psnipped किया हो। – jsbueno

उत्तर

12

आप पीआईएल और images2gif का उपयोग कर सकते हैं, इस blog page पर जुड़े एक छोटे पीआईएल आधारित मॉड्यूल और here उपलब्ध हैं। इस rose.gif को संसाधित करने के लिए प्रयुक्त कोड नीचे है। मैंने पीआईएल छवियों की सूची प्राप्त करने के लिए images2gif.readGif 'numpy array के रूप में पढ़ा' false पर सेट किया है ताकि मैं पीआईएल thumbnail फ़ंक्शन का उपयोग कर सकूं।

orignial: rose संसाधित: small rose

import Image 
import images2gif 

frames = images2gif.readGif("rose.gif",False) 
for frame in frames: 
    frame.thumbnail((100,100), Image.ANTIALIAS) 

images2gif.writeGif('rose99.gif', frames) 

मुझे यकीन है कि कैसे पारदर्शिता बनाए रखने के लिए नहीं कर रहा हूँ, मेरे प्रयास ऐसा करने में विफल है (अभी तक)।

+5

एनीमेशन गति को कैसे बचाएं? –

+2

http://www.velocityreviews.com/forums/t354000-pil-and-transparent-gifs.html के अनुसार, आपको पारदर्शिता = im.info ["पारदर्शिता"] के साथ पारदर्शिता स्वयं को संभालना होगा; ...; out.save ("out.gif", पारदर्शिता = पारदर्शिता) – Collin

3

कुछ अद्भुत व्यक्ति है कि पारदर्शिता के लिए खातों images2gif.py के एक अद्यतन संस्करण बनाया:

https://bitbucket.org/bench/images2gif.py/overview

अभी भी कुछ कलाकृतियों हैं, लेकिन यह जिस तरह से मूल की तुलना में बेहतर है!

+3

पहले प्रयास में विफल - पैलेट सूची की तरह दिखता है [कोई नहीं, कोई नहीं .. कोई नहीं] और इसे नई फ़ाइल में लिखने का प्रयास करता है। अफसोस की बात है, यह तब होता है जब आप कोड के टुकड़े परीक्षण के साथ नहीं आते हैं। मूलभूत कम से कम एक सार्थक संदेश देता है: 'रनटाइम त्रुटि: पैलेट नहीं मिल सकता है। शायद आपको इसके बजाय इमेजियो आज़माएं। ' –

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