實例方法
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 Optional listSectionSeparatorTint(_:edges:)用法及代碼示例
- Swift Optional lineSpacing(_:)用法及代碼示例
- Swift Optional listSectionSeparator(_:edges:)用法及代碼示例
- Swift Optional labelsHidden()用法及代碼示例
- Swift Optional listRowSeparator(_:edges:)用法及代碼示例
- Swift Optional listRowSeparatorTint(_:edges:)用法及代碼示例
- Swift Optional listRowBackground(_:)用法及代碼示例
- Swift Optional listRowInsets(_:)用法及代碼示例
- Swift Optional labelStyle(_:)用法及代碼示例
- Swift Optional lineLimit(_:)用法及代碼示例
- Swift Optional layoutPriority(_:)用法及代碼示例
- Swift Optional symbolVariant(_:)用法及代碼示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代碼示例
- Swift Optional mask(alignment:_:)用法及代碼示例
- Swift Optional badge(_:)用法及代碼示例
- Swift Optional fullScreenCover(isPresented:onDismiss:content:)用法及代碼示例
- Swift Optional keyboardType(_:)用法及代碼示例
- Swift Optional clipShape(_:style:)用法及代碼示例
- Swift Optional preferredColorScheme(_:)用法及代碼示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代碼示例
- Swift Optional saturation(_:)用法及代碼示例
- Swift Optional focusSection()用法及代碼示例
- Swift Optional overlay(alignment:content:)用法及代碼示例
- Swift Optional colorMultiply(_:)用法及代碼示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:presenting:actions:message:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Optional luminanceToAlpha()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。