मेरे पास एक ऐसा एप्लिकेशन है जिसके लिए एक ठोस ब्लैक रूपरेखा आंशिक रूप से पारदर्शी UIImage
के आसपास खींची जाए। छवि के फ्रेम के चारों ओर नहीं, बल्कि छवि के सभी अपारदर्शी हिस्सों के आसपास। यानी, एक पारदर्शी पीएनजी के बारे में सोचें जिसमें एक अपारदर्शी सफेद "एक्स" है - मुझे काले रंग में "एक्स" की रूपरेखा की आवश्यकता है।आईओएस: आंशिक रूप से पारदर्शी छवि के अपारदर्शी हिस्सों को रेखांकित करना
मामलों जटिल बनाने के लिए, के बाद रूपरेखा, तैयार की है मूल छवि की अस्पष्टता समायोजित किया जाएगा, लेकिन रूपरेखा अपारदर्शी रहना चाहिए - तो रूपरेखा मैं उत्पन्न केवल रूपरेखा, और नहीं शामिल करने के लिए है मूल छवि।
- एक नया
UIView
जो मूल छवि के आयाम बनाएं:मेरे वर्तमान तकनीक यह है।
UIImage
डुप्लिकेट करेंUIView
के उप-दृश्यों के रूप में डुप्लिकेट जोड़ें, प्रत्येकUIImage
दो पिक्सेल द्वारा मूल स्थान से तिरछे ऑफसेट करें।UIView
को एक छवि में बदलें (सामान्यUIGraphicsGetImageFromCurrentImageContext
विधि के माध्यम से)।CGImageMaskCreate
औरCGImageCreateWithMask
का उपयोग करके, इस नई छवि से मूल छवि घटाएं, इसलिए केवल रूपरेखा बनी हुई है।
यह काम करता है। यहां तक कि केवल 4 ऑफ़सेट छवियों के साथ, परिणाम काफी अच्छा लगता है। हालांकि, यह बेहद अक्षम है, और आईफोन 4 पर एक अच्छी ठोस 4-सेकंड देरी का कारण बनता है।
तो मुझे एक ही चीज़ प्राप्त करने के लिए एक अच्छा, तेज़, कुशल तरीका है, जो आईओएस 4.0 द्वारा पूरी तरह से समर्थित है।
कोई भी महान विचार? :)
आपको यूआई/सीजी सामान का उपयोग कर सीधे छवि डेटा में हेरफेर करने में सक्षम होना चाहिए। तो कदम काफी तेजी से होना चाहिए। छवि प्रारूप को समझना बहुत मुश्किल नहीं है। मुख्य चाल यह है कि जब आप छवियों को एक साथ जोड़ते हैं तो आपको प्रत्येक पिक्सेल को 4 (शिफ्ट दाएं 2) को विभाजित करने की आवश्यकता होती है ताकि यह सुनिश्चित किया जा सके कि कोई अतिप्रवाह नहीं होता है। –
आप अपने लक्ष्य को प्राप्त करने के लिए अन्य योजनाओं के लिए "एज डिटेक्शन" पर भी अध्ययन करना चाहेंगे। –
[यह धागा] (http://stackoverflow.com/questions/6052188/high-quality-scaling-of-uiimage) आपको UIImage को "क्रैक" करने के बारे में कुछ विचार दे सकता है। –