[Я изучаю Swift Development. В прошлый раз я пытался добавить размытия к изображению Рональда Рейгана. Сначала я нашел метод UIBlurEffect, но это было не совсем то, что я ожидал. Затем я попытался использовать метод CIFilter. Я прошел через ужасный путь внедрения CGaussianBlur, но в конце концов я это сделал! Затем я заглянул в раскадровку и обнаружил, что изображение было масштабировано и отмечено белыми рамками (как вы можете видеть на прикрепленном рисунке). Что я сделал не так? Что я должен делать? Есть ли более простой способ добавить размытие на фото программно? Я знаю, что есть способ сделать это с помощью сторонних приложений, таких как Adobe PS, но я хочу, чтобы это было в коде. :)
import UIKit
@IBDesignable
class blurImageView: UIImageView {
override func awakeFromNib() {
super.awakeFromNib()
applyBlurEffect(image: image!)
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
applyBlurEffect(image: image!)
}
func applyBlurEffect(image: UIImage){
if self.image != nil {
let imageToBlur = CIImage(image: image)
let blurfilter = CIFilter(name: "CIGaussianBlur")!
blurfilter.setValue(imageToBlur, forKey: "inputImage")
let resultImage = blurfilter.value(forKey: "outputImage") as! CIImage
let blurredImage = UIImage(ciImage: resultImage)
self.image = blurredImage
}
}
}