Swift (iOS/macOS) में छवियों के साथ कार्य
इस लेख में हम iOS और macOS प्लेटफ़ॉर्म के लिए Swift में छवियों के साथ कार्य करने पर विस्तार से चर्चा करेंगे। आप सीखेंगे कि Apple के अंतर्निहित फ्रेमवर्क: UIKit (iOS), AppKit (macOS) और Core Image का उपयोग करके छवियों को कैसे लोड, प्रदर्शित, प्रोसेस और सहेजा जाए। यह सामग्री शुरुआती और अनुभवी डेवलपर्स दोनों के लिए उपयोगी होगी।
छवियों के साथ कार्य करने के लिए मुख्य फ्रेमवर्क
Apple इकोसिस्टम में छवियों के साथ कार्य करने के कई तरीके हैं। मुख्य हैं:
- UIKit (iOS/tvOS) —
UIImage,UIImageView - AppKit (macOS) —
NSImage,NSImageView - Core Image — छवि प्रसंस्करण के लिए शक्तिशाली फ्रेमवर्क (फ़िल्टर, रूपांतरण)
- SwiftUI — घोषणात्मक प्रदर्शन के लिए
Image
iOS (UIKit) में छवियाँ लोड करना
iOS में छवि लोड करने का सबसे सरल तरीका UIImage का उपयोग करना है। एसेट्स और फ़ाइल से लोड करने का उदाहरण:
// Assets.xcassets से लोड करनाlet imageFromAssets = UIImage(named: "myImage")
// Bundle में फ़ाइल से लोड करनाif let path = Bundle.main.path(forResource: "photo", ofType: "jpg") { let imageFromFile = UIImage(contentsOfFile: path)}
// Data से लोड करनाif let data = try? Data(contentsOf: URL(string: "https://example.com/image.png")!) { let imageFromData = UIImage(data: data)}UIKit में छवियाँ प्रदर्शित करना
छवि प्रदर्शित करने के लिए UIImageView का उपयोग किया जाता है:
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))imageView.image = UIImage(named: "example")imageView.contentMode = .scaleAspectFitview.addSubview(imageView)macOS (AppKit) में छवियों के साथ कार्य
macOS में NSImage और NSImageView का उपयोग किया जाता है:
// छवि लोड करनाlet nsImage = NSImage(named: "macImage")
// प्रदर्शित करनाlet imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 300, height: 200))imageView.image = nsImageimageView.imageScaling = .scaleProportionallyUpOrDownview.addSubview(imageView)Core Image के साथ छवि प्रसंस्करण
Core Image दर्जनों अंतर्निहित फ़िल्टर प्रदान करता है। आइए बुनियादी संचालन देखें:
import CoreImage
// UIImage से CIImage बनाएंguard let uiImage = UIImage(named: "input"), let ciImage = CIImage(image: uiImage) else { return }
// "गॉसियन ब्लर" फ़िल्टर लागू करेंlet filter = CIFilter(name: "CIGaussianBlur")filter?.setValue(ciImage, forKey: kCIInputImageKey)filter?.setValue(10.0, forKey: kCIInputRadiusKey)
// परिणाम प्राप्त करेंguard let outputImage = filter?.outputImage else { return }
// वापस UIImage में बदलेंlet context = CIContext(options: nil)if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) { let blurredImage = UIImage(cgImage: cgImage)}लोकप्रिय Core Image फ़िल्टर
CISepiaTone— सेपियाCIPhotoEffectMono— श्वेत-श्याम प्रभावCIVignette— विगनेटिंगCIColorControls— चमक, कंट्रास्ट, संतृप्तिCICrop— छवि क्रॉप करना
SwiftUI में छवियों के साथ कार्य
SwiftUI छवियों के साथ कार्य करने का एक सरल और घोषणात्मक तरीका प्रदान करता है:
import SwiftUI
struct ContentView: View { var body: some View { Image("swiftui_image") .resizable() .scaledToFit() .frame(width: 200, height: 200) .clipShape(Circle()) .overlay(Circle().stroke(Color.blue, lineWidth: 4)) .shadow(radius: 10) }}