【CoreGraphics】CGColorSpace - 色彩空間

簡單來說:表示需要使用的色彩標(biāo)準(zhǔn)(為創(chuàng)建CGColor做準(zhǔn)備)
例如RBG:CGColorSpaceCreateDeviceRGB
注:簡單了解,深入需要更多色彩相關(guān)知識;

創(chuàng)建

  • 通用標(biāo)準(zhǔn)創(chuàng)建
    // 灰度 色彩
    CGColorSpaceRef graySpaceRef = CGColorSpaceCreateDeviceGray();
    
    // RGBA 色彩 (顯示3色)
    CGColorSpaceRef rgbSapceRef = CGColorSpaceCreateDeviceRGB();
    
    // CMYK 色彩 (印刷4色)
    CGColorSpaceRef cmykSpaceRef = CGColorSpaceCreateDeviceCMYK();

    
  • 色彩矯正
    // 灰度 色彩矯正
//    CGFloat whitePoint[] = {0, 100, 200};// CIE XYZ 值
//    CGFloat blackPoint[] = {200, 100, 0};
//    CGFloat calibratedGrayComponents[] = {0.6, 0.6};
//    CGColorSpaceRef calibratedGraySpaceRef = CGColorSpaceCreateCalibratedGray(whitePoint, blackPoint, 0.5);
//    CGColorRef calibratedGrayColorRef = CGColorCreate(calibratedGraySpaceRef, calibratedGrayComponents);

    
    // RGB 色彩矯正 (數(shù)據(jù)不太對,見諒,水好深)
//    CGFloat whitePoint[] = {0, 100, 200};// CIE XYZ 值
//    CGFloat blackPoint[] = {200, 100, 0};
//    CGFloat gamma[] = {0, 0, 0};
//    CGFloat matrix[] = {0, 100, 200, 0, 100, 200, 0, 100, 200};
//    CGFloat calibratedRGBComponents[] = {1, 0, 0, 1};
//    CGColorSpaceRef calibratedRGBSpaceRef = CGColorSpaceCreateCalibratedRGB(whitePoint, blackPoint, gamma, matrix);
//    CGColorRef calibratedRGBColorRef = CGColorCreate(calibratedRGBSpaceRef, calibratedRGBComponents);

  • 根據(jù)名稱創(chuàng)建
    注:__IPHONE_9_0
    CGColorSpaceRef nameSpaceColor = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);

// 有點(diǎn)多
CG_EXTERN const CFStringRef kCGColorSpaceGenericGray
  CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceGenericRGB
  CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceGenericCMYK
  CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_9_0);
  
CG_EXTERN const CFStringRef kCGColorSpaceDisplayP3
  CG_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceGenericRGBLinear
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceAdobeRGB1998
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceSRGB
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceGenericGrayGamma2_2
  CG_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceGenericXYZ
  CG_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceACESCGLinear
CG_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceITUR_709
CG_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceITUR_2020
CG_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceROMMRGB
CG_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0);

CG_EXTERN const CFStringRef kCGColorSpaceDCIP3
CG_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0);

  • 更多
    水太深,HOLD 不住啊。

CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateLab(const CGFloat whitePoint[3],
  const CGFloat blackPoint[3], const CGFloat range[4])
  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);

CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateWithICCProfile(CFDataRef __nullable data)
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);

CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateICCBased(size_t nComponents,
  const CGFloat * __nullable range, CGDataProviderRef __nullable profile,
  CGColorSpaceRef __nullable alternate)
  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);

CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreateIndexed(CGColorSpaceRef __nullable baseSpace,
  size_t lastIndex, const unsigned char * __nullable colorTable)
  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);

CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceCreatePattern(CGColorSpaceRef __nullable baseSpace)
  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);

CG_EXTERN CGColorSpaceRef __nullable
  CGColorSpaceCreateWithPlatformColorSpace(const void * __nullable ref)
  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_9_0);

操作

 // retain
    CGColorSpaceRef retain = CGColorSpaceRetain(nameSpaceColorRef);
 // release
    CGColorSpaceRelease(nameSpaceColorRef);

獲取信息

CG_EXTERN CFTypeID CGColorSpaceGetTypeID(void)
  CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);

CG_EXTERN size_t CGColorSpaceGetNumberOfComponents(CGColorSpaceRef __nullable space)
  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);

CG_EXTERN CGColorSpaceModel CGColorSpaceGetModel(CGColorSpaceRef __nullable space)
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);

CG_EXTERN CGColorSpaceRef __nullable CGColorSpaceGetBaseColorSpace(CGColorSpaceRef __nullable space)
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);

CG_EXTERN size_t CGColorSpaceGetColorTableCount(CGColorSpaceRef __nullable space)
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);

CG_EXTERN void CGColorSpaceGetColorTable(CGColorSpaceRef __nullable space,
  uint8_t * __nullable table) CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);

CG_EXTERN CFDataRef __nullable CGColorSpaceCopyICCProfile(CGColorSpaceRef __nullable space)
  CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_6_0);

1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 光標(biāo)變寬 mac下fn+i 將idea中vim插件關(guān)閉
    司馬子臨閱讀 2,841評論 0 0
  • 今天自己去參加培訓(xùn)去了,去培訓(xùn)前還挺緊張的,對有些事情還是比較擔(dān)心,而且今天還沒有工作服,幸好李航給我借了個...
    a2fe3d8f488b閱讀 189評論 0 1
  • 多么有紀(jì)念意義的一天
    kidII閱讀 114評論 0 0

友情鏈接更多精彩內(nèi)容