【问题标题】:How to determine whether the colour format is RGB or BGR ?如何判断颜色格式是RGB还是BGR?
【发布时间】:2018-04-03 20:41:12
【问题描述】:

让我们假设,

 cgcolor = Any_UIColor.cgColor

现在,我如何确定 cgcolorcomponents 是在 RGB 还是 BGR 序列? (组件数量为4)

或者,UIColor 将始终采用 R G B 格式?!

【问题讨论】:

  • 我的猜测是 4 个分量是 CMYK 颜色空间。如果您接受任何类型的色彩空间作为输入,则组件可以按任何顺序排列。在极其一般的情况下,您甚至可能有 3 种红色阴影作为组件。是否可以先将颜色转换为已知的颜色空间?
  • @Mats 如果 RGB 和 Alpha 为 4 会怎样?
  • 我猜RGBA用于cgColor
  • @Roy 我把它误认为是色彩空间上的组件数量。对于造成的混乱,我深表歉意。

标签: ios swift uicolor cgcolor bgr


【解决方案1】:

你可以使用CGColorcolorSpace属性。

/* 返回与 `color' 相关的颜色空间。 */

@available(iOS 2.0, *)
public var colorSpace: CGColorSpace? { get }

示例:

    let colorspace = UIColor.red.cgColor.colorSpace

CGColorSpaceModel 将为您提供您正在使用的颜色的确切型号。

    let colorspace = UIColor.red.cgColor.colorSpace?.model

参考https://developer.apple.com/documentation/coregraphics/cgcolorspacemodel

【讨论】:

  • 感谢您的回答很有帮助。但是还是找不到RGB和BGR的区别
  • 我认为 API 不支持 BGR。
猜你喜欢
  • 2015-08-28
  • 2021-05-15
  • 1970-01-01
  • 2021-10-27
  • 2011-06-07
  • 2020-08-29
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
相关资源
最近更新 更多