从SwiftUI的Color种获取RGB的值 所属分类:ios | 浏览:381 | 发布于 2024-12-23 在使用Core Image的时候,使用的CIColor,它使用的是RGB的表示方式,有时候需要将SwiftUI的Color转换成CIColor,这就需要进行转换。 转换的方法是调用Color的resolve(in: environment)函数。 struct ContentView: View { @Environment(\.self) var environment @State private var color = Color.red @State private var resolvedColor: Color.Resolved? @State private var colorJSON = "" var body: some View { VStack { ColorPicker("Select your favorite color", selection: $color) if let resolvedColor { Text("Red: \(resolvedColor.red)") Text("Green: \(resolvedColor.green)") Text("Blue: \(resolvedColor.blue)") Text("Opacity: \(resolvedColor.opacity)") } Text("Color JSON: \(colorJSON)") } .padding() .onChange(of: color, initial: true, getColor) } func getColor() { resolvedColor = color.resolve(in: environment) if let colorData = try? JSONEncoder().encode(resolvedColor) { colorJSON = String(decoding: colorData, as: UTF8.self) } } }Copy 本文链接: https://www.wenge365.com/a/NFA0RFNMR0Izb2E3eFpjTzlTOXRxZz09.html 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!