实例方法
luminance
luminanceToAlpha()
向此视图添加亮度到 Alpha 效果。
声明
func luminanceToAlpha() -> some View
返回值
应用了亮度到 Alpha 效果的视图。
详述
使用此修改器创建半透明蒙版,修改后视图的每个部分的不透明度由原始视图相应部分的亮度控制。较低亮度的区域变得更透明,而较高的亮度产生更大的不透明度。
特别是,修改器将每个输入像素颜色的红色、绿色和蓝色分量映射到灰度值,该值成为输出中黑色像素的 alpha 分量。此修饰符产生的效果等同于使用带有 luminanceToAlpha
类型属性的 feColorMatrix
过滤器原语,如 Scalable Vector Graphics (SVG) 2 规范所定义。
下面的示例将 Palette
视图定义为一系列矩形,每个矩形都由具有特定白色值的 Color
组成,然后在蓝色背景上显示两个版本的调色板:
struct Palette: View {
var body: some View {
HStack(spacing: 0) {
ForEach(0..<10) { index in
Color(white: Double(index) / Double(9))
.frame(width: 20, height: 40)
}
}
}
}
struct LuminanceToAlphaExample: View {
var body: some View {
VStack(spacing: 20) {
Palette()
Palette()
.luminanceToAlpha()
}
.padding()
.background(.blue)
}
}
调色板的未修改版本包含范围从纯黑色到纯白色的矩形,因此亮度增加。调色板的第二个版本应用了luminanceToAlpha()
修饰符,允许背景以与输入亮度成反比的量显示出来。
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相关用法
- Swift Never listRowSeparatorTint(_:edges:)用法及代码示例
- Swift Never listSectionSeparatorTint(_:edges:)用法及代码示例
- Swift Never labelStyle(_:)用法及代码示例
- Swift Never listRowSeparator(_:edges:)用法及代码示例
- Swift Never lineSpacing(_:)用法及代码示例
- Swift Never labelsHidden()用法及代码示例
- Swift Never listRowInsets(_:)用法及代码示例
- Swift Never lineLimit(_:)用法及代码示例
- Swift Never listSectionSeparator(_:edges:)用法及代码示例
- Swift Never listRowBackground(_:)用法及代码示例
- Swift Never layoutPriority(_:)用法及代码示例
- Swift Never pageCommand(value:in:step:)用法及代码示例
- Swift Never opacity(_:)用法及代码示例
- Swift Never colorMultiply(_:)用法及代码示例
- Swift Never accessibilityAction(action:label:)用法及代码示例
- Swift Never alert(isPresented:error:actions:message:)用法及代码示例
- Swift Never confirmationDialog(_:isPresented:titleVisibility:actions:)用法及代码示例
- Swift Never flipsForRightToLeftLayoutDirection(_:)用法及代码示例
- Swift Never position(x:y:)用法及代码示例
- Swift Never position(_:)用法及代码示例
- Swift Never accessibilityAction(_:_:)用法及代码示例
- Swift Never previewDisplayName(_:)用法及代码示例
- Swift Never badge(_:)用法及代码示例
- Swift Never progressViewStyle(_:)用法及代码示例
- Swift Never buttonStyle(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never luminanceToAlpha()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。