imageset क्या है?

Xcode imageset एक नाम वाली रिसोर्स डायरेक्टरी है, जिसमें इमेज फ़ाइलें और एक Contents.json डिस्क्रिप्शन होता है। यह एक Assets.xcassets कैटलॉग के अंदर रहती है। ऐप रिसोर्स का नाम इस्तेमाल करता है, जबकि कैटलॉग बताता है कि हर स्केल या रूप के लिए कौन-सी फ़ाइल है।

iOS इमेज एसेट एक्सपोर्टर आपके अपलोड किए आर्टवर्क या पहले से अनलॉक किए गए नतीजे से यह फ़ोल्डर स्ट्रक्चर बनाता है। यह सिंपल वेक्टर SVG को पैक कर सकता है या ट्रांसपेरेंट PNG वेरिएंट रेंडर कर सकता है। सिर्फ़ कैटलॉग में रख देने से यह किसी फोटो को वेक्टर पाथ में नहीं बदलता।

सिंपल, स्केल होने वाले आर्टवर्क के लिए वेक्टर चुनें

जब सोर्स ठोस पाथ और सिंपल शेप से बना SVG हो, तब वेक्टर SVG चुनें। एक्सपोर्टर सपोर्टेड ज्योमेट्री को फ़्लैटन करता है और Preserve Vector Data चालू करके imageset लिखता है। SVG इमेज एसेट के लिए iOS 13 या उसके बाद का वर्ज़न ज़रूरी है।

कन्वर्टर जानबूझकर वेक्टर का एक सीमित हिस्सा ही इस्तेमाल करता है। टेक्स्ट को पहले आउटलाइन में बदलना चाहिए, और ग्रेडिएंट, मास्क, क्लिपिंग और दूसरे इफ़ेक्ट के लिए इस टूल में PNG आउटपुट चाहिए। जो फ़ीचर सपोर्ट नहीं होते, उन पर एरर आता है ताकि आप कोई सही विकल्प चुन सकें। जो कुछ भी असुरक्षित है, जैसे कोई स्क्रिप्ट, उसे हटाकर लिस्ट कर दिया जाता है; फ़ाइलें इंपोर्ट करने से पहले हर चेतावनी पढ़ें।

वेक्टर फ़ाइल स्केल होने वाली ज्योमेट्री बनाए रखती है, लेकिन डिज़ाइन को अपने आप बेहतर नहीं बनाती। हज़ारों छोटे-छोटे शेप वाला उलझा हुआ ट्रेस किसी साफ़ बिटमैप से कम काम का हो सकता है। इमेज को उन साइज़ पर जांचें जिन पर आपका इंटरफ़ेस उसे सच में इस्तेमाल करता है, खासकर जहां पतले स्ट्रोक या छोटे अक्षर हों।

तय साइज़ वाले इमेज रिसोर्स के लिए PNG चुनें

PNG वेरिएंट SVG, PNG, JPEG, WebP और HEIC सोर्स लेते हैं। SVG को PNG में रेंडर किया जाता है; PNG, JPEG, WebP या HEIC अपलोड का मेटाडेटा हटा दिया जाता है। ट्रांसपेरेंसी बनी रहती है। यह तब काम आता है जब एडिट करने लायक ज्योमेट्री से ज़्यादा कोई सपोर्टेड रेंडर किया गया इफ़ेक्ट मायने रखता हो।

चौड़ाई का कंट्रोल पॉइंट में है, आखिरी पिक्सेल संख्या में नहीं। 64 पॉइंट की चौड़ाई पर एक्सपोर्टर ये फ़ाइलें बनाता है:

स्केल पिक्सेल में चौड़ाई फ़ाइल का नाम
1× 64 artwork@1x.png
2× 128 artwork@2x.png
3× 192 artwork@3x.png

ऊंचाई ओरिजिनल अनुपात के हिसाब से तय होती है। जो सोर्स चौड़ाई से दोगुना ऊंचा है, उससे 1× पर 64 × 128 पिक्सेल की इमेज बनती है। अगर कोई ऊंचा सोर्स एक्सपोर्ट की ऊंचाई की सीमा पार कर जाए, तो कम पॉइंट चौड़ाई चुनें। चौड़ाई की सेटिंग वेक्टर imageset का साइज़ नहीं बदलती, वह अपना viewBox बनाए रखता है।

अपना कैटलॉग बदले बिना इंपोर्ट करें

डाउनलोड को अनज़िप करें और Assets.xcassets/artwork.imageset ढूंढें, या आपके चुने रिसोर्स नाम वाली वैसी ही डायरेक्टरी। उस imageset को अपने मौजूदा कैटलॉग में ड्रैग करें। पूरा कैटलॉग न बदलें: उसमें ऐसे रंग, आइकन और दूसरे रिसोर्स हो सकते हैं जिनकी आपके ऐप को पहले से ज़रूरत है।

SwiftUI में artwork नाम वाले रिसोर्स को Image("artwork") से इस्तेमाल किया जा सकता है। ऐप में अपने इंटरफ़ेस के हिसाब से लेआउट और स्केलिंग लागू करें। इंपोर्ट किए गए एसेट को Xcode में और डिवाइस पर जांचें, जिसमें चमकीली और डार्क, दोनों तरह की सतहों पर ट्रांसपेरेंट किनारे भी शामिल हैं।

imageset कोई SF Symbol नहीं है और उस सिंबल फ़ॉर्मैट के बनाने के तरीके को नहीं अपनाता। यह ऐप के लॉन्चर आइकन से भी अलग है। जब आपको AppIcon एसेट कैटलॉग चाहिए, तो Android और iOS ऐप आइकन जेनरेटर इस्तेमाल करें, और Android इंटरफ़ेस drawable के लिए Android VectorDrawable कन्वर्टर।