如何将 UIColor 转换为十六进制(网页颜色文本字符串)?

2024-01-23

有没有简单的方法可以转换UIColor为十六进制值?
或者我们是否必须使用以下方法获取 RGB 分量CGColorGetComponents然后从那里解决?

e.g CGColorGetComponents(color.CGColor)[0] * 256 ?


我还必须将 UIColor 转换为其十六进制组件。

正如 lewiguez 已经指出的那样,有一个非常好的类别github https://github.com/erica/uicolor-utilities就可以完成所有这些事情。

但因为我想了解它是如何完成的,所以我自己制作了 RGB 颜色的简单实现。

+ (NSString*)colorToWeb:(UIColor*)color
{
    NSString *webColor = nil;

    // This method only works for RGB colors
    if (color &&
        CGColorGetNumberOfComponents(color.CGColor) == 4)
    {
        // Get the red, green and blue components
        const CGFloat *components = CGColorGetComponents(color.CGColor);

        // These components range from 0.0 till 1.0 and need to be converted to 0 till 255
        CGFloat red, green, blue;
        red = roundf(components[0] * 255.0);
        green = roundf(components[1] * 255.0);
        blue = roundf(components[2] * 255.0);

        // Convert with %02x (use 02 to always get two chars)
        webColor = [[NSString alloc]initWithFormat:@"%02x%02x%02x", (int)red, (int)green, (int)blue];
    }

    return webColor;
}

欢迎所有反馈!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 UIColor 转换为十六进制(网页颜色文本字符串)? 的相关文章

随机推荐

  • Matlab非线性灰盒系统辨识

    我正在尝试进行非线性灰盒模型识别 并且我正在使用以下代码 我对输入向量 输出向量和时间戳中的输入进行了测量 input output data 2 3 output output data 4 5 time output data 1 da
  • Clojure 中是否有替代 nil 双关语的惯用方法?

    我目前正在阅读一些 Clojure 代码 其中有一堆未初始化的值 nil用于传递记录中的数值 现在有很多 Clo jure 库将其视为惯用语 https stackoverflow com questions 6045404 why clo
  • SQL Server 2008 Express 无法用于合并复制?

    根据 Microsoft 的说法 SQL Server 2008 Express 应该能够作为拉取订阅者参与合并复制 至少对于 RMO 对象来说是这样 http msdn microsoft com en us library ms1478
  • 错误 800A01A8 需要对象

    我有一个 VBScript 代码 它给我一个错误 提示 需要对象 错误 800A01A8 位于第 11 行和第 3 个字符 这是代码 Dim strWebsite strWebsite 78 72 111 138 80 If PingSit
  • EF CTP4:“创建模型时无法使用上下文。”

    我有两个实体 学生和班级 他们之间有多对多的关系 class Student ICollection
  • 通过中断中间单词强制 Jasper HTML 报告换行

    我在 Jaspersoft Studio 中创建了一个 Jasper 报告 用于生成 HTML 报告 它的宽度为 550px 其中一个数据字段包含 URL 其中一些可能非常长 例如 我遇到的问题是生成的报告不会破坏 URL 中间单词 即查询
  • “dyn”在类型中意味着什么?

    我最近看到代码使用dyn关键词 fn foo arg dyn Display fn bar gt Box
  • Python 中使用哪种正则表达式风格?

    我想知道 Python 使用哪种 RegEx 风格 它是 PCRE Perl 兼容的还是 ICU 或其他什么 是兼容的enoughw Perl 这意味着大多数 Perl 表达式无需修改即可工作 它的目标是与 Perl 兼容 但当然 也有一些
  • 内联 Bootstrap 表单布局,标签位于输入上方

    我想使用 Bootstrap 3 创建具有以下布局的表单 我在这里尝试了一个jsfiddle http jsfiddle net quyB6 http jsfiddle net quyB6 我尝试过的标记
  • 如何更改工作表选项卡的颜色

    我有一个 python 脚本 它从外部资源中提取数据并将数据添加到 Google 表格中 在大多数情况下 我一切正常 除了我想更改选项卡的颜色以表示脚本状态 整个过程首先复制工作表中的现有选项卡 默认情况下 模板选项卡具有黑色突出显示 然后
  • System.out.printLn() 错误? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我对 Java 编程非常陌生 而且还不擅长 我只是想编译这个小程序 这样我以后就可以用它来解决继承和多态性问题 我正在使用 JGr
  • JINI 还活跃吗?

    与我交谈过的每个知道它的人都声称这是自切片面包以来最伟大的事情 为什么失败了 或者 如果它没有失败 现在谁在使用它 查看千兆空间 http www gigaspaces com 这是一个相当成功的 Jini Javaspaces 实现 我认
  • 在 Spark 数据框中插入记录

    我在 pyspark 中有一个数据框 这是它的样子 timestamp price 670098928 50 670098930 53 670098934 55 我想填补时间戳与之前状态之间的空白 这样我就可以获得一个完美的集合来计算时间加
  • 设计软电子邮件确认

    我有一个使用 Devise 和可确认模块的 Rails 3 应用程序 然而 阻止新注册用户在确认其电子邮件之前访问该网站会导致保留问题 相反 我们希望立即授予用户访问权限and仍然向他们发送确认电子邮件 然后 我们将运行后台任务来锁定在固定
  • C# Graphics.RotateTransform 适用于本地主机,但不适用于远程服务器

    它可以在我的机器上运行 我在 ASP NET Web 主机上使用 C 图形方法时遇到问题 我将两个地图图钉组合成一个图像 我加载一个空的图钉图像并在其顶部写一个数字 然后我将其中两个组合起来 其中一个旋转 15 度 另一个旋转 15 度 通
  • 在 Perl 中,散列的键和值是否具有相同的“顺序”?

    我知道 Perl 中的哈希值没有排序 我担心的是我是否可以依赖索引关系中出现的键和值 假设我有这个哈希值 my h a gt 1 b gt 2 c gt 3 d gt 4 If I do keys h 我可能会得到 b a d c 我能保证
  • KERAS model.summary 中的“None”是什么意思?

    输出形状中的 None 100 是什么意思 这是 无 样本数还是隐藏维度 None意味着这个维度是可变的 keras 模型中的第一个维度始终是批量大小 您不需要固定的批量大小 除非在非常特殊的情况下 例如 当使用stateful TrueL
  • 设置操作栏项目文本颜色?

    我正在尝试使用自定义设置我的操作栏项目的文本颜色style 但没有任何效果 我尝试过设置
  • 如何使用 jQuery 和 AJAX 将 PHP 页面加载到 div 中?

    我正在尝试编写一个函数来调用getproduct php id xxx当点击时 我可以得到innerHTML部分出现 但我又如何调用php实际起作用的页面 var id id document getElementById digital
  • 如何将 UIColor 转换为十六进制(网页颜色文本字符串)?

    有没有简单的方法可以转换UIColor为十六进制值 或者我们是否必须使用以下方法获取 RGB 分量CGColorGetComponents然后从那里解决 e g CGColorGetComponents color CGColor 0 25