MetalUI
MetalUI copied to clipboard
Effects in SwiftUI
![](https://github.com/heestand-xyz/MetalUI-Docs/blob/main/Assets/MetalUI%20Icon.png?raw=true)
MetalUI
Install
.package(url: "https://github.com/heestand-xyz/MetalUI", from: "0.0.1")
Green Screen
| |
|
import SwiftUI
import MetalUI
struct ContentView: View {
var body: some View {
ZStack {
Color.blue
.ignoresSafeArea()
Image("Superman")
.resizable()
.aspectRatio(contentMode: .fit)
.chromaKey(color: Color(red: 0.0,
green: 1.0,
blue: 0.0))
}
}
}
#Preview {
ContentView()
}
Kaleidoscope
https://github.com/heestand-xyz/MetalUI/assets/7947442/3eeb4a40-b578-4eb7-9700-3e34effe8e3d
import SwiftUI
import MetalUI
struct ContentView: View {
@State var value: CGFloat = 0.0
var body: some View {
VStack {
Color.red
Color.green
Color.blue
}
.frame(width: 200, height: 200)
.kaleidoscope(count: 12, angle: .degrees(180))
}
}
#Preview {
ContentView()
}
Circle Blur
import SwiftUI
import MetalUI
struct ContentView: View {
@State var value: CGFloat = 0.0
var body: some View {
VStack {
Text("Hello World")
.padding()
.border(Color.black)
.circleBlur(value * 10)
Slider(value: $value)
}
.padding()
.frame(width: 250)
}
}
#Preview {
ContentView()
}
Feedback
import SwiftUI
import MetalUI
struct ContentView: View {
var body: some View {
Text("Hello, World!")
.foregroundStyle(.white)
.frame(maxWidth: .infinity,
maxHeight: .infinity)
.feedback { source, loop in
ZStack {
source
.opacity(0.1)
loop
.scaleEffect(1.01)
.opacity(0.99)
}
}
}
}
#Preview {
ContentView()
}
Edge
![](https://github.com/heestand-xyz/MetalUI-Docs/blob/main/Assets/Effects/Edge/MetalUI%20Edge.png?raw=true)
import SwiftUI
import MetalUI
struct ContentView: View {
var content: some View {
}
var body: some View {
HStack {
Image(systemName: "globe")
Text("Hello, World!")
}
.font(.system(size: 50, weight: .bold))
.padding()
.edge()
}
}
#Preview {
ContentView()
}
Pixelate
![](https://github.com/heestand-xyz/MetalUI-Docs/blob/main/Assets/Effects/Pixelate/MetalUI%20Pixelate.png?raw=true)
import SwiftUI
import MetalUI
struct ContentView: View {
var body: some View {
VStack {
Text("Hello, World!")
Text("Hello, World!")
.pixelate()
Text("Hello, World!")
.quickPixelate()
}
.font(.largeTitle)
}
}
#Preview {
ContentView()
}
Noise
![](https://github.com/heestand-xyz/MetalUI-Docs/blob/main/Assets/Content/Noise/MetalUI%20Noise.png?raw=true)
import SwiftUI
import MetalUI
struct ContentView: View {
var body: some View {
Noise()
}
}
#Preview {
ContentView()
}