तेजी से कैमरे से तस्वीरें खींचने के लिए हम AVFoundation का उपयोग कर सकते हैं जो कि iOS SDK में एक ढांचा है, लेकिन हमें इसका उपयोग करने से बचने की कोशिश करनी चाहिए जब तक कि हमें अपने कैमरा एप्लिकेशन में बहुत सारी कस्टम सुविधाओं की आवश्यकता न हो। इस उदाहरण में, हम केवल कैमरे से एक तस्वीर लेंगे और इसे दृश्य पर प्रदर्शित करेंगे। हम इस उदाहरण में AVFoundation के बजाय इमेज पिकर का उपयोग करेंगे।
सबसे पहले, एक प्रोजेक्ट बनाएं और स्टोरीबोर्ड में इसके व्यू कंट्रोलर पर एक इमेज व्यू जोड़ें। इसकी कक्षा में आउटलेट बनाएं। अब ViewController क्लास के अंदर इसे -
. के अनुरूप बनाएंclass ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate
इसके बाद एक objc फंक्शन बनाएं।
@objc func openCamera(){ }
अब आपके व्यू में लोड हो गया है, अपने व्यू कंट्रोलर में एक टैप जेस्चर पहचानकर्ता जोड़ें, जिसे स्क्रीन टैप होने पर ओपनकैमरा फ़ंक्शन को कॉल करना चाहिए।
override func viewDidLoad() { super.viewDidLoad() let gesture = UITapGestureRecognizer(target: self, action: #selector(openCamera)) self.view.addGestureRecognizer(gesture) }
अब फ़ंक्शन में कोड की निम्नलिखित पंक्तियाँ जोड़ें।
@objc func openCamera() { let imgPicker = UIImagePickerController() imgPicker.delegate = self imgPicker.sourceType = .camera imgPicker.allowsEditing = false imgPicker.showsCameraControls = true self.present(imgPicker, animated: true, completion: nil) }
एक बार जब आप उपरोक्त चरणों को पूरा कर लेते हैं, तो अब हम UIImagePickerControllerDelegate की didFinishPickingMediaWithInfo पद्धति को लागू करेंगे और इस विधि के अंदर, हम वह छवि प्राप्त करेंगे जिसे उपयोगकर्ता कैमरे से कैप्चर करता है।
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { if let img = info[UIImagePickerController.InfoKey.editedImage] as? UIImage { self.imgV.image = img self.dismiss(animated: true, completion: nil) } else { print("error") } } }
अब, हमें अपनी info.plist में कैमरा उपयोग विवरण कुंजी जोड़ने की जरूरत है और यह विवरण देना होगा कि हमारा एप्लिकेशन कैमरे का उपयोग क्यों करना चाहता है। जब हम इसे iPhone पर चलाते हैं और छवि कैप्चर करते हैं, तो यह परिणाम उत्पन्न होता है। साथ ही, ध्यान दें कि इस एप्लिकेशन को सिम्युलेटर पर नहीं चलाया जा सकता है।