gpt4 book ai didi

swift - 在 Swift 中将 rgb 转换为十六进制

转载 作者:行者123 更新时间:2023-11-28 10:02:46 24 4
gpt4 key购买 nike

我正在尝试将我的 rgb 颜色转换为十六进制值。不幸的是,它总是返回 000000。这是我试过的代码:

let red = CGFloat(drand48())
let green = CGFloat(drand48())
let blue = CGFloat(drand48())

let hexValue = String(format:"%02X", red) + String(format:"%02X", green) + String(format:"%02X", blue)

最佳答案

下面是生成 3 个随机数并将它们转换为十六进制字符串的更好方法:

let red = Int.random(in: 0...255)
let green = Int.random(in: 0...255)
let blue = Int.random(in: 0...255)
let hex = String(format:"%02X%02X%02X", red, green, blue)

您的代码不起作用的原因是您的数字 CGFloat 在 0.0 到 1.0 的范围内。但是您的字符串格式将它们视为 Int 值。

除此之外,使用 drand48 需要先播种。

关于swift - 在 Swift 中将 rgb 转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58593206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com