Обложка канала

iOS Dev

iOS разработчик, который делится фишками, своим опытом и опытом других. В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки Авторский канал, iOS разработка

iOS Dev

4 года назад
Открыть в
Три способа добавить блюр-эффект на ваши изображения: хороший, плохой, злой На самом деле второй тоже хороший Первый способ — 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