Я маскирую изображение с помощью image_mask, следующий код показывает, что:
func maskOriginalImage() -> UIImage? {
if(self.maskImage != nil && self.originalImage != nil){
let maskReference = self.maskImage?.cgImage!
let maskedReference = self.originalImage?.cgImage!.masking(maskReference!)
self.maskImage = nil
return UIImage(cgImage: maskedReference!)
}
return nil
Теперь я хочу сохранить замаскированное изображение в библиотеке фотографий.
func saveImageToLibrary(){
UIImageWriteToSavedPhotosAlbum(self.segmentedimage, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)
}
Но пока при сохранении maskedImage сохраняется исходное изображение. Обходной путь, который я нашел, - создать новый UIimagecontext и нарисовать маскированное изображение в контексте и использовать это изображение для сохранения.
func getImageFromContext() -> UIImage? {
UIGraphicsBeginImageContextWithOptions(self.size, false, scale)
draw(in: CGRect(origin: .zero, size: size))
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result
}
Почему я просто не могу сохранить замаскированное изображение напрямую? Я относительно новичок в разработке IOS, поэтому любые комментарии будут полезны.