【问题标题】:Add gaussian blur to layer backgroundColor?将高斯模糊添加到图层背景颜色?
【发布时间】:2019-04-11 09:50:58
【问题描述】:

我正在尝试向使用 backgroundColor 的图层添加高斯模糊。

下面的代码在标题文本周围添加了一个框,效果很好,我只是想让白色变得模糊。

title.layer.borderColor = UIColor.white.cgColor
title.layer.backgroundColor = UIColor.white.cgColor
title.layer.borderWidth = 4
title.layer.cornerRadius = 5

不使用 imageView 可以吗?

谢谢!

【问题讨论】:

  • 这是 iOS 的,对吧?如果是这样,您应该在您的问题中添加一个 iOS 标签。

标签: swift layer blur gaussian


【解决方案1】:

如果您正在为 Mac OS 编写代码,那么下面 Vlad 的解决方案将简单而优雅地为您工作。 Mac OS CALayers 允许您添加一组核心图像过滤器,这些过滤器可以“实时”应用于内容。 iOS 没有。既然您在问题中提到了UIColor,我猜您的问题是针对 iOS 的。

在 iOS 上使用 Core Image 过滤器可能需要进行大量手动编码才能对图层进行此操作。 (您需要编写代码来捕获要模糊的视图内容,将其转换为 CIImage,将其交给 Core Image 进行模糊,然后将生成的 CIImage 映射回 @987654324 @ 并将其安装在您的层中。)

但是,如果您将UIVisualEffectView 添加到您的视图中,这将使您模糊下方视图的内容。 UIVisualEffectView 非常易于使用。网上有许多教程向您展示如何使用它们。这就是我的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多