您是否曾经想过将高级图像处理滤镜添加到您的 SwiftUI 应用程序中?使用 MetalPetal,您可以创建令人惊叹的视觉效果,给您的用户留下深刻印象。在本教程中,我们将学习如何使用 MetalPetal 在 SwiftUI 中对图像应用滤镜。
Metal Petal 是一个 pod 库,所以我们需要将 MetalPetal pod 添加到我们的项目中
https://github.com/MetalPetal/MetalPetal
让我们从创建一个基本滤镜开始,该滤镜将反转图像的颜色。首先,我们需要创建一个新视图来显示我们的图像和过滤器按钮。将以下代码添加到您的项目中:
struct ContentViewOne: View {
@State var inputImage = UIImage(named: "_image_")!
var body: some View {
VStack {
Image(uiImage: inputImage)
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 300, height: 300)
Button("Apply Filter") {
inputImage = applyFilter(inputImage)
}
}
}
func applyFilter(_ image: UIImage) -> UIImage {
let context = try!