2009-07-03 8 views

उत्तर

46

एनएसआईमेज एक सार डेटा प्रकार है जो कई अलग-अलग प्रकार की छवियों का प्रतिनिधित्व कर सकता है, साथ ही साथ छवि के कई प्रस्तुतिकरण भी प्रदर्शित कर सकता है। यह अक्सर उपयोगी होता है जब आप जो करने की कोशिश कर रहे हैं उसके लिए वास्तविक प्रकार की छवि महत्वपूर्ण नहीं है। यह एकमात्र छवि वर्ग भी है जो ऐपकिट अपने एपीआई (एनएसआईमेज व्यू और आगे) में स्वीकार करेगा।

CGImage केवल बिटमैप्स का प्रतिनिधित्व कर सकता है। यदि आपको वास्तविक बिटमैप डेटा के साथ नीचे उतरना और गंदा होना है, तो CGImage उपयोग करने के लिए एक उपयुक्त प्रकार है। कोरग्राफिक्स में ऑपरेशन, जैसे मिश्रण मोड और मास्किंग, को CGImageRefs की आवश्यकता होती है। CGImageRefs का उपयोग NSBitmapImageRefs बनाने के लिए किया जा सकता है, जिसे बाद में एनएसआईमेज में जोड़ा जा सकता है।

मुझे लगता है कि प्रलेखन एक CIImage का सबसे अच्छा वर्णन:

हालांकि एक CIImage वस्तु इसके साथ जुड़े छवि डेटा है, यह एक छवि नहीं है। आप एक छवि "नुस्खा" के रूप में एक सीआईएममेज ऑब्जेक्ट के बारे में सोच सकते हैं। एक सीआईएममेज ऑब्जेक्ट में छवि बनाने के लिए आवश्यक सभी जानकारी होती है, लेकिन कोर छवि वास्तव में ऐसा करने के लिए कहा जाने तक एक छवि प्रस्तुत नहीं करती है। यह "आलसी मूल्यांकन" विधि कोर छवि को यथासंभव कुशलतापूर्वक संचालित करने की अनुमति देती है।

CIImages प्रकार विभिन्न GPU-अनुकूलित मुख्य छवि फिल्टर है कि मैक ओएस एक्स के साथ आते हैं उपयोग करने की आवश्यकता है, लेकिन, CGImageRefs की तरह, वे भी NSBitmapImageReps में बदला जा सकता।

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