[英]Is it possible to apply a grayscale image as view mask in SwiftUI?
是否可以将视图.mask(...)
修饰符与灰度图像一起使用。 我的意思是就像在 Photoshop 中使用图层蒙版一样。
虽然使用Image
作为遮罩视图没有问题,但这会产生具有图像大小的简单矩形遮罩。 不考虑对图像内容进行掩蔽。
我想使用图像作为蒙版来应用复杂的不透明蒙版,例如此图像中的云
这里的关键是根据亮度将图像转换为使用 alpha - 一个完美的使用luminanceToAlpha()
修饰符。
结果:
代码:
struct ContentView: View {
var body: some View {
Text("This is a red view with some text") // 1
.padding(50)
.background(Color.red)
.mask { // 2
Image("cloud") // 3
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 350)
.luminanceToAlpha() // 4
.fixedSize() // 5
}
}
}
这个怎么运作:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.