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

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