Swift (iOS/macOS) में छवियों के साथ कार्य: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift (iOS/macOS) में छवियों के साथ कार्य

इस लेख में, हम Apple इकोसिस्टम में छवियों के साथ काम करने के लिए मुख्य दृष्टिकोण और उपकरणों पर विचार करेंगे। आप सीखेंगे कि iOS और macOS के लिए Swift के अंतर्निहित फ्रेमवर्क का उपयोग करके छवियों को कैसे लोड, प्रदर्शित, प्रोसेस और सेव करें। यह सामग्री शुरुआती और अनुभवी डेवलपर्स दोनों के लिए उपयोगी होगी।



छवियों के साथ काम करने के लिए मुख्य फ्रेमवर्क

Swift में ग्राफिक्स के साथ काम करने के लिए कई प्रमुख फ्रेमवर्क हैं:

  • UIKit (iOS) — UIImage, UIImageView
  • AppKit (macOS) — NSImage, NSImageView
  • Core Image — फ़िल्टर और प्रसंस्करण
  • Core Graphics — निम्न-स्तरीय ड्राइंग
  • Metal — जटिल संचालन के लिए GPU-त्वरण
  • SwiftUI — Image के साथ घोषणात्मक इंटरफ़ेस


छवियों को लोड और प्रदर्शित करना

दोनों प्लेटफार्मों के लिए बुनियादी उदाहरण देखें।



iOS (UIKit)

import UIKit

// assets से लोड करनाlet image = UIImage(named: "example")

// फ़ाइल से लोड करनाif let path = Bundle.main.path(forResource: "photo", ofType: "jpg") { let imageFromFile = UIImage(contentsOfFile: path)}

// UIImageView में प्रदर्शित करनाlet imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))imageView.image = imageimageView.contentMode = .scaleAspectFit


macOS (AppKit)

import AppKit

// assets से लोड करनाlet image = NSImage(named: "example")

// फ़ाइल से लोड करनाif let path = Bundle.main.path(forResource: "photo", ofType: "jpg") { let imageFromFile = NSImage(contentsOfFile: path)}

// NSImageView में प्रदर्शित करनाlet imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 200, height: 200))imageView.image = imageimageView.imageScaling = .scaleProportionallyUpOrDown


SwiftUI (क्रॉस-प्लेटफ़ॉर्म)

import SwiftUI

struct ContentView: View { var body: some View { Image("example") .resizable() .aspectRatio(contentMode: .fit) .frame(width: 200, height: 200) }}


Core Image के साथ छवि प्रसंस्करण

Core Image छवि प्रसंस्करण के लिए 200 से अधिक अंतर्निहित फ़िल्टर प्रदान करता है। यहाँ सेपिया लगाने का एक उदाहरण है:



import CoreImage

func applySepiaFilter(to image: UIImage) -> UIImage? { guard let ciImage = CIImage(image: image) else { return nil } let filter = CIFilter(name: "CISepiaTone") filter?.setValue(ciImage, forKey: kCIInputImageKey) filter?.setValue(0.8, forKey: kCIInputIntensityKey) guard let outputImage = filter?.outputImage else { return nil } let context = CIContext() guard let cgImage = context.createCGImage(outputImage, from: outputImage.extent) else { return nil } return UIImage(cgImage: cgImage)}


आकार बदलना और क्रॉप करना

अक्सर छवि का आकार बदलने या इसे केंद्र से क्रॉप करने की आवश्यकता होती है:



extension UIImage {    func resized(to targetSize: CGSize) -> UIImage {        let renderer = UIGraphicsImageRenderer(size: targetSize)        return renderer.image { _ in            self.draw(in: CGRect(origin: .zero, size: targetSize))        }    }        func croppedToSquare() -> UIImage {        let side = min(size.width, size.height)        let x = (size.width - side) / 2        let y = (size.height - side) / 2        let cropRect = CGRect(x: x, y: y, width: side, height: side)                guard let cgImage = cgImage?.cropping(to: cropRect) else { return self }        return UIImage(cgImage: cgImage)    }}


छवियों को सहेजना

आइए देखें कि छवि को गैलरी या फ़ाइल में कैसे सहेजें:

अनुशंसाएँ