के बाद संपादित छवि को सहेजना मैंने इस वर्ग का स्विफ्ट संस्करण बनाया है: https://github.com/bennythemink/ZoomRotatePanImageView/blob/master/ZoomRotatePanImageView.m अच्छा काम करता है। अब मैं संशोधित छवि को फ़ाइल में सहेजना चाहता हूं। बात यह है कि मैं इसे पूर्ण संकल्प में सहेजना चाहता हूं और मैं उस क्षेत्र को भी सहेजना चाहता हूं जो केवल उपयोगकर्ता के लिए दृश्यमान है।ज़ूमिंग, घूर्णन और पैनिंग
मैं आपको सरल उदाहरण दिखा:
यह है कि यह कैसे मेरे एप्लिकेशन में दिखता है। छवि आईओएस सिम्युलेटर में कुछ नमूने है। इसमें से अधिकांश स्क्रीन से बाहर है। मुझे केवल दृश्य भाग चाहिए।
फसल यह इस तरह दिखता है बिना सहेजने के बाद:
अब तक तो कतरन यह अच्छा होगा के बाद अच्छा।
लेकिन अब चलो कुछ परिवर्तन कर सकते हैं:
सहेजने के बाद:
ऐसा लगता है कि यह गलत धुरी से बदल रहा है। मेरे द्वारा यह कैसे किया जा सकता है?
UIGraphicsBeginImageContextWithOptions(imageContainer.bounds.size, false, 0)
self.imageContainer.drawViewHierarchyInRect(imageContainer.bounds, afterScreenUpdates: true)
let screenshot = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
हालांकि उत्पादन छवि दृश्य के आकार का एक वास्तविक छवि है और न मैं पूर्ण रूप से यह चाहते हैं:
UIGraphicsBeginImageContextWithOptions(image.size, false, 0)
let context = UIGraphicsGetCurrentContext()
let transform = imageView.transform
let imageRect = CGRectMake(0, 0, image.size.width, image.size.height)
CGContextSetFillColorWithColor(context, UIColor.blueColor().CGColor) //for debugging
CGContextFillRect(context, imageRect)
CGContextConcatCTM(context, transform)
image.drawInRect(imageRect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
इसे प्राप्त करने के लिए एक सरल तरीका है:
यहाँ की बचत के लिए अपने कोड है संकल्प।
उत्तर के लिए धन्यवाद, लेकिन जैसे मैंने कहा कि मैं पूर्ण संकल्प में छवि चाहते हैं । मैंने स्क्रीन-जैसी रेज में पहले से ही एक समाधान पोस्ट कर दिया है, मेरे प्रश्न के नीचे देखें। छवि! .drawInRect (imageView! .bounds) - इससे 4k छवि छवि के आकार का कारण बनती है, इसलिए यह स्क्रीन आकार पर निर्भर करता है। – Makalele
धन्यवाद, मुझे लगता है कि हम करीब हैं। ऐसा लगता है कि यह लगभग चाहिए। लेकिन समस्या यह है कि इसे स्क्रीन पर केवल दृश्य भाग के लिए ठीक से फसल की आवश्यकता है (आईफोन छवि फिट करने के लिए थोड़ा सा सटीक होना)। कृपया पूरे वर्ग कोड में देखें: http://pastebin.com/6UUj1B0w तैयार करने के लिएForSegue आपका कोड है। शीर्ष छवि वह आईफोन है जिसे आप स्क्रीनशॉट पर देख सकते हैं। आप रिक्त दृश्य नियंत्रक में नई परियोजना पर आसानी से इसका परीक्षण कर सकते हैं। नीचे एकमात्र तरीका है - यह दिखाता है कि यह कैसा दिखना चाहिए। – Makalele
ज़ूमरोटेटपैनइमेज व्यू हमेशा पहलू फिट है। तो अपने शीर्ष छवि दृश्य और छवि दृश्य के लिए फ्रेम सेट करने की आवश्यकता नहीं है, पूर्ण स्क्रीन आकार रखें। सामग्री मोड को अपने शीर्ष इमेज व्यू के लिए उपयुक्त फिट के रूप में सेट करें। मेरे नमूने से स्क्रीन शॉट संलग्न है, अपेक्षित के रूप में काम करता है। –