在 iOS 和 MacCatalyst 中向图像中增加可变模糊。UIKit 和 Metal

VariableBlurImageView logo

VariableBlurImageView

框架用于在 iOS 和 MacCatalyst 上向图像添加可变模糊或渐进模糊。适用于使用 Metal 的 UIKit。

从前缘到中间具有水平可变模糊效果的山丘

左图具有从前缘到中间的水平可变模糊效果。右图具有从顶部边缘到中间的垂直可变模糊效果。

目录

安装

要在 SwiftPM 项目中使用此包,需要将其设置为包依赖项:

// swift-tools-version:5.9
import PackageDescription

let package = Package(
  name: "MyPackage",
  dependencies: [
    .package(
      url: "https://github.com/Eskils/VariableBlurImageView", 
      .upToNextMinor(from: "1.0.0") // or `.upToNextMajor
    )
  ],
  targets: [
    .target(
      name: "MyTarget",
      dependencies: [
        .product(name: "VariableBlurImageView", package: "VariableBlurImageView")
      ]
    )
  ]
)

用法

此框架提供一个 UIImageView 子类和一个用于将可变模糊应用于 CGImages 的类。支持以下类型:

垂直

垂直渐进模糊

水平

水平渐进模糊

位于两个点之间

两个点之间的渐进模糊

VariableBlurImageView

VariableBlurImageView 是 UIImageView 的一个子类,可以异步应用所需的渐进模糊。

提供图像、起点、终点及其各自的模糊半径。

示例

let imageView = VariableBlurImageView()
imageView.contentMode = .scaleAspectFill
let backgroundImage = UIImage(resource: .onboardingBackground)
imageView.verticalVariableBlur(
    image: backgroundImage, 
    startPoint: 0, 
    endPoint: backgroundImage.size.height / 4, 
    startRadius: 15, 
    endRadius: 0
)

BlurUIKit