34

पीआईएल (और this question से संबंधित) के माध्यम से देख रहे हैं, मुझे छवि मोड की विस्तृत सूची कहां मिल सकती है? मुझे "आरजीबी", "आरजीबीएक्स" दिखाई देता है, मेरे कोड में "बीजीआरएक्स" है, भले ही इसका उल्लेख पीआईएल दस्तावेज़ों में नहीं किया गया है, जिसे मैं देख सकता हूं। मैं कैसे देख सकता हूं कि कौन सा है, पीआईएल क्या समर्थन करता है, और उदाहरण के लिए विंडोज एपीआई कॉल के साथ बातचीत करते समय कौन से उचित तरीके का चयन करना है?छवि की सूची "मोड"

असल में मैं छवि मोड के बारे में बहुत कम जानता हूं और इसे जादूगर रूप से काम करने के लिए केवल अक्षरों से ज्यादा सीखना चाहता हूं।

उत्तर

23

जैसा कि यह Pillow documentation में कहा गया है (और जैसा कि यह पुराने PIL documentation में भी कहा गया है), आपको फ़ाइल Unpack.c पर देखने की आवश्यकता है। आपको फ़ाइल के अंत के पास सूची मिल जाएगी।

तकिया की वर्तमान मास्टर शाखा से Unpack.c: https://github.com/python-pillow/Pillow/blob/master/src/libImaging/Unpack.c

जनहित याचिका के अंतिम रिलीज से Unpack.c: http://svn.effbot.org/public/tags/pil-1.1.7/libImaging/Unpack.c

16-बिट बीजीआर "BGR;16" के रूप में सूचीबद्ध है और एक "RGBX" उत्पादन पैदा करता है।

+0

आह अच्छा मैं वास्तव में फ़ाइल ढूंढने में कामयाब रहा लेकिन मुझे उस लुकअप टेबल नहीं मिली। – Claudiu

+0

दमित, मैंने अंत में कुछ ऐसा महसूस किया जिसने मुझे उम्र के लिए भटक दिया था। 'Unpack.c' में तालिका के दूसरे कॉलम में सूचीबद्ध मोड डॉक्स कॉल * मोड * नहीं हैं बल्कि वे * कच्चे मोड * को क्या कहते हैं। भेद यह है कि * कच्चे मोड * फ़ाइल प्रकार हैं जो तकिया पार्स कर सकते हैं, जबकि * मोड * वे प्रकार हैं जो विभिन्न स्तंभ कार्यों के 'मोड' पैरामीटर को समझते हैं और जिन्हें आप' .convert() 'का उपयोग करके परिवर्तित कर सकते हैं। लिंक्ड टेबल के ऊपर की टिप्पणियां स्वीकार्य रूप से स्पष्ट करती हैं कि ये समान नहीं हैं, लेकिन यह मेरे सिर पर लंबे समय तक चली गई थी। –

+0

अब जब मैं इसे समझता हूं, तो मुझे लगता है कि यह प्रश्न * उत्तर * https://pillow.readthedocs.io/en/3.0.x/handbook/concepts.html#modes से लिंक के उत्तर से गंभीर रूप से लाभान्वित होगा (* मोड * की सूची * और 'अनपैक.c' (* कच्चे मोड * की सूची *) और उनके बीच का अंतर बताती है। अन्य मार्क, क्या आप इसे संपादन के माध्यम से बनाने के इच्छुक होंगे? यदि नहीं, लेकिन आप मेरे साथ ऐसा करने में सहज महसूस करेंगे, मुझे बताएं और मैं इसके चारों ओर जाऊंगा। अन्यथा, मैं शायद एक प्रतिस्पर्धी जवाब पोस्ट करूंगा। –