इस पोस्ट में हम सीखेंगे कि आईओएस में प्रोग्रामेटिक रूप से स्क्रीन शॉट कैसे लें।
हम टेक्स्टफिल्ड पर जोड़ देंगे जहां हम मूल्य बदल देंगे, एक बटन दबाकर स्क्रीन शॉट लेंगे और फिर एक छवि दृश्य में स्क्रीन शॉट दिखाएंगे जिसे हम बटन के ठीक नीचे रखेंगे।
याद रखें कि आप इस कार्यक्षमता को लंबे प्रेस या किसी अन्य जेस्चर पर जोड़ सकते हैं, और यदि आप चाहें तो छवि को सहेज भी सकते हैं। लेकिन अभी हम केवल स्क्रीन शॉट को कैप्चर करने और छवि दृश्य पर दिखाने पर ध्यान केंद्रित करेंगे।
तो चलिए शुरू करते हैं
चरण 1 − ओपन एक्सकोड → नया प्रोजेक्ट → सिंगल व्यू एप्लिकेशन → आइए इसे "टेकस्क्रीनशॉट" नाम दें
चरण 2 - मेन.स्टोरीबोर्ड खोलें एक UITextField, एक बटन और एक UIImageView जोड़ें जैसा कि नीचे दिखाया गया है
चरण 3 - छवि दृश्य के लिए एक @IBOutlet संलग्न करें। इसे स्नैपशॉटइमेज व्यू नाम दें। यह छवि दृश्य है जहां हम कैप्चर किए गए स्क्रीन शॉट को बोएंगे।
चरण 4 - 'टेक स्नैप शॉट' बटन के अंदर टचअप के लिए एक @IBAction जोड़ें। फ़ंक्शन को takeSnapShotClicked नाम दें।
चरण 5 - व्यू कंट्रोलर क्लास के व्यूडिडलोड में इमेज के लिए बॉर्डर का रंग और चौड़ाई सेट करें ताकि इसे व्यू के दूसरे हिस्से से अलग किया जा सके।
self.snapShotImageView.layer.borderColor = UIColor.red.cgColor self.snapShotImageView.layer.borderWidth = 2.0
चरण 6 - हम स्क्रीनशॉट को कैप्चर करने के लिए निम्न विधि का उपयोग करेंगे।
- ग्राफ़िक प्रसंग प्रारंभ करें।
- वर्तमान संदर्भ को एक चर में कैप्चर करें।
- संदर्भ चर में, वर्तमान दृश्य परत प्रस्तुत करें।
- संदर्भ चर से छवि प्राप्त करें। ध्यान दें कि इस बिंदु पर संदर्भ में वर्तमान में जो कुछ भी दृश्य पर उपलब्ध है उसका स्क्रीन शॉट होगा।
- हम कैप्चर की गई इमेज को संदर्भ से अपने इमेज व्यू पर सेट करेंगे
- ग्राफ़िक प्रसंग समाप्त करें
उपरोक्त सभी हम takeSnapShotClicked विधि में करेंगे। जो अब इस तरह दिखेगा
@IBAction func takeSnapShotClicked(_ sender: Any) { UIGraphicsBeginImageContextWithOptions(self.view.layer.frame.size, false, UIScreen.main.scale); guard let context = UIGraphicsGetCurrentContext() else {return } self.view.layer.render(in:context) self.snapShotImageView.image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() }
चरण 7 - प्रोजेक्ट बनाएं और चलाएं। स्नैपशॉट लें बटन पर क्लिक करें। आपको नीचे के चित्र दृश्य में स्नैपशॉट देखना चाहिए।