2009-11-16 13 views
6

मैंCALayer renderInContext

CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity; 
rotationAndPerspectiveTransform.m34 = 1.0/-500; 

यह सफलता है का उपयोग करें, लेकिन मैं का उपयोग करें "renderInContext: संदर्भ" संदर्भ से CGImage मिलता है, मैंने पाया छवि प्रभाव नहीं बदला गया है!

मैं इस प्रभाव छवि को कैलियर से कैसे प्राप्त कर सकता हूं?

उत्तर

2

मेरा मूल उत्तर bellow का पालन करता है। जब मैंने इसे पोस्ट किया था तो यह मान्य था, लेकिन ऐप्पल अब UIGetScreenImage के उपयोग की अनुमति नहीं देता है। iOS4 के शुभारंभ के बाद मेरी जानकारी के अनुसार करने के लिए कोई विकल्प नहीं 3 डी परिवर्तनों + अपने अनुप्रयोग अस्वीकार कर दिया जाएगा, तो आप का उपयोग के साथ परतों को रेंडर करने के लिए कैसे वहाँ UIGetScreenImage



renderInContext पर iPhone डेवलपर दस्तावेज़ से:

साथ ही, परतों कि 3 डी रूपांतरण का उपयोग प्रदान की गई नहीं कर रहे हैं, और न ही कर रहे हैं परतों कि backgroundFilters, फिल्टर, compositingFilter, या एक मुखौटा मान निर्दिष्ट।

तो renderInContext वह फ़ंक्शन नहीं है जिसे आपको 3 डी रूपांतरण लागू करने वाली परत को प्रस्तुत करने के लिए उपयोग करने की आवश्यकता है।

सर्वश्रेष्ठ आप कर सकते हैं कॉल: UIGetScreenImage, जो मूल रूप से आपको एक स्क्रीनशॉट देगा और फिर आप इस स्क्रीनशॉट से छवि निकाल सकते हैं।

+2

UIGetScreenImage अब और अनुमति नहीं है। मुझे ऐप्पल से अभी एक ईमेल मिला है कि इस निजी फ़ंक्शन का उपयोग करना बंद करें और -renderInContext का उपयोग करें: (iOs 3.x पर) या एवी फाउंडेशन AVCaptureSession और संबंधित कक्षाएं (आईओएस 4 पर)। – vfn

+0

मुझे आज ऐप्पल से एक ही ईमेल प्राप्त हुआ और मेरा मामला आपके जैसा ही है। जाहिर है, हमें आईओएस 3 का उपयोग करके सभी उपयोगकर्ताओं को अलविदा चुम्बन करना होगा या कैप्चर करने के लिए अलविदा चुम्बन करना होगा ... कोई विचार? – SpaceDog

+1

आज मजेदार है कि मेरे ऐप्स में से एक को यूआईजीएटीस्क्रीन इमेज() का उपयोग करने के लिए भी खारिज कर दिया गया है ... मैंने आईओएस 4 पर परीक्षण किया लेकिन फिर से प्रस्तुत करें कॉन्टेन्स्ट अभी भी 3 डी ट्रांसफॉर्मेशन प्रस्तुत नहीं करता है, इसलिए .. मैं ईमानदारी से नहीं जानता कि अभी क्या करना सबसे अच्छा काम है –

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