tg-me.com/iosdev/452
Last Update:
Три способа добавить блюр-эффект на ваши изображения: хороший, плохой, злой
На самом деле второй тоже хороший
Первый способ — UIBlurEffect
Возможно, это самый стандартный из всех.let view = UIView()
let blurEffect = UIBlurEffect(style: .light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
view.addSubview(blurEffectView)
Нужно помнить, что UIBlurEffect
не является фильтром, из названия следует, что это всё-таки эффект, и может быть применён по факту к любой картинке (и любому UIView
).
Второй способ — CIFilter
Apple предоставляет целый набор инструментов под названием CIFilter
. Среди них есть CGaussianBlur
, который отлично подходит для достижения задачи. Как часть UIKit, его также просто внедрить.func addBlurTo(_ image: UIImage) -> UIImage? {
if let ciImg = CIImage(image: image) {
ciImg.applyingFilter("CIGaussianBlur")
return UIImage(ciImage: ciImg)
}
return nil
}
Третий способ — Гауссово сглаживание с ядрами.
Есть замечательная статья от Apple про эту технику. Пример кода, представленный в статье, показывает не только то, как работает гауссово размытие в Swift, но и как реализовать его в вашем проекте.
Этот метод вызывает низкоуровневые техники, такие как свертка — например, vImageConvolve_ARGB8888
.
В чем преимущество злого способа (злой - метафора, конечно)? Если вкратце, использование свертки и высокоскоростных ядер экономит время.
Много времени.
😉Ах да, кстати, разобрался с оплатой премиума в Телеге и теперь посты даже с картинками будут насыщеннее (не всегда). А ещё вы сможете поставить новые эмодзи (если у вас есть премиум).
@iOS Dev
BY iOS Dev

Share with your friend now:
tg-me.com/iosdev/452