इस लगभग Alexburtnik के जवाब
है, लेकिन सिर्फ इतना है कि UIImage.size तार्किक आकार है
हालांकि, CGImage.cropping ("अंक" में) का उल्लेख() वास्तविक आयाम इस्तेमाल किया ("पिक्सल" में)
इसलिए, यदि आप @ 2x या @ 3x संशोधक के साथ एक छवि का उपयोग करते हैं, तो आपको फसल वास्तव में आधा या एक तिहाई उम्मीद मिल जाएगी।
import UIKit
extension UIImage {
func crop(to rect: CGRect) -> UIImage? {
// Modify the rect based on the scale of the image
var rect = rect
rect.size.width = rect.size.width * self.scale
rect.size.height = rect.size.height * self.scale
// Crop the image
guard let imageRef = self.cgImage?.cropping(to: rect) else {
return nil
}
return UIImage(cgImage: imageRef)
}
}
:
func cropImage(image:UIImage, toRect rect:CGRect) -> UIImage? {
var rect = rect
rect.size.width = rect.width * image.scale
rect.size.height = rect.height * image.scale
guard let imageRef = image.cgImage?.cropping(to: rect) else {
return nil
}
let croppedImage = UIImage(cgImage:imageRef)
return croppedImage
}
मान लीजिए कि मेरे पास 2448 × 3264 का चित्र आकार है, मैं उस भाग को लाल यानी चाहता हूं। ToRect पैरामीटर्स क्या हैं ???? – BornShell
इसे देखें: http://stackoverflow.com/questions/37946990/cgrectmake-cgpointmake-cgsizemake-cgrectzero-cgpointzero-is-unavailable-in –