সুইফটে একটি ক্যামেরা থেকে ছবি তোলার জন্য আমরা AVFoundation ব্যবহার করতে পারি যা iOS SDK-এর একটি কাঠামো, কিন্তু আমাদের ক্যামেরা অ্যাপ্লিকেশনে অনেকগুলি কাস্টম বৈশিষ্ট্যের প্রয়োজন না হওয়া পর্যন্ত আমাদের এটি ব্যবহার এড়াতে চেষ্টা করা উচিত। এই উদাহরণে, আমরা শুধুমাত্র ক্যামেরা থেকে একটি ছবি ধারণ করব এবং সেটিকে দৃশ্যে প্রদর্শন করব। আমরা AVFoundation এর পরিবর্তে এই উদাহরণে ইমেজ পিকার ব্যবহার করব।
প্রথমে একটি প্রজেক্ট তৈরি করুন এবং স্টোরিবোর্ডের ভিউ কন্ট্রোলারে একটি ইমেজ ভিউ যোগ করুন। এর ক্লাসে আউটলেট তৈরি করুন। এখন ভিউকন্ট্রোলার ক্লাসের ভিতরে এটিকে −
এর সাথে মানিয়ে নিনclass ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate
এর পরে একটি objc ফাংশন তৈরি করুন।
@objc func openCamera(){ }
এখন আপনার ভিউ লোড হয়েছে, আপনার ভিউ কন্ট্রোলারে একটি ট্যাপ জেসচার শনাক্তকারী যোগ করুন, যা স্ক্রীনে ট্যাপ করার সময় একটি 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-এ ক্যামেরা ব্যবহারের বিবরণ কী যোগ করতে হবে এবং কেন আমাদের অ্যাপ্লিকেশন ক্যামেরা ব্যবহার করতে চায় তার একটি বিবরণ দিতে হবে। যখন আমরা এটিকে একটি আইফোনে চালাই এবং চিত্র ক্যাপচার করি, তখন এটিই উত্পাদিত ফলাফল। এছাড়াও, মনে রাখবেন যে এই অ্যাপ্লিকেশনটি সিমুলেটরে চালানো যাবে না।