এই পোস্টে আমরা শিখব iOS-এ প্রোগ্রামেটিক্যালি স্ক্রিনশট কীভাবে নেওয়া যায়।
একটি টেক্সট ফিল্ড থাকবে যেখানে মান পরিবর্তন করব, বাটন চাপলে স্ক্রিনশট নেবে এবং নিচে একটি ইমেজ ভিউতে দেখাবে।
দ্রষ্টব্য: এই ফাংশনালিটি লং প্রেস বা অন্য জেসচারেও যোগ করা যায়, এবং ইমেজ সেভও করা যায়। কিন্তু এখানে শুধু স্ক্রিনশট ক্যাপচার করে ইমেজ ভিউতে দেখানো হচ্ছে।
ধাপ ১: Xcode-এ নতুন প্রজেক্ট তৈরি করুন
Xcode → New Project → Single View Application → নাম দিন "TakeScreenShot"
ধাপ ২: Main.storyboard-এ UITextField, বাটন এবং UIImageView যোগ করুন

ধাপ ৩: ইমেজ ভিউর জন্য @IBOutlet যোগ করুন
নাম দিন snapShotImageView। এখানে ক্যাপচার করা স্ক্রিনশট দেখাবে।
ধাপ ৪: 'Take Snap Shot' বাটনের জন্য @IBAction যোগ করুন
নাম দিন takeSnapShotClicked
ধাপ ৫: viewDidLoad-এ ইমেজ ভিউর বর্ডার সেট করুন
self.snapShotImageView.layer.borderColor = UIColor.red.cgColor self.snapShotImageView.layer.borderWidth = 2.0
ধাপ ৬: স্ক্রিনশট ক্যাপচার করার মেথড
- গ্রাফিক কনটেক্স্ট শুরু করুন।
- কারেন্ট কনটেক্স্ট ভেরিয়েবলে ক্যাপচার করুন।
- কনটেক্স্ট ভেরিয়েবলে কারেন্ট ভিউর লেয়ার রেন্ডার করুন।
- কনটেক্স্ট থেকে ইমেজ পান। এই মুহূর্তে কনটেক্স্টে ভিউতে থাকা সবকিছুই থাকবে।
- ক্যাপচার করা ইমেজ ইমেজ ভিউতে সেট করুন।
- গ্রাফিক কনটেক্স্ট শেষ করুন।
সবকিছু 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()
}
ধাপ ৭: বিল্ড ও রান করুন
'Take Snapshot' বাটনে ক্লিক করলে নিচের ইমেজ ভিউতে স্ক্রিনশট দেখতে পাবেন।
