问题标签 [cgcolorspace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 如何将颜色从一种颜色空间转换为另一种颜色空间?
是否有一种 Cocoa Touch 方法可以将颜色从一种颜色空间转换为另一种颜色空间?
在这段代码的最后:
...x
是2。
我需要这个的原因是我试图将颜色复制到颜色组件列表中CGGradientCreateWithColorComponents
,这需要单个颜色空间中的所有颜色。问题是灰色在灰度色彩空间中,而不是在 RGB 色彩空间中。(这个名字现在让我忘记了,但这并不重要。)
我知道我可以在灰度色彩空间中寻找颜色并转换它们。但这只能解决一种情况。从这个问题来看,我认为 HSB 也得到了处理。但我想在这里写一些代码,以后再也不去想它了,这意味着不仅支持现在存在的色彩空间,还支持苹果未来可能添加的任何东西。我运气不好?
iphone - 混合色彩空间会受到惩罚吗?(核心图形)
如果我在 Mac OS X 或 iPhone OS 上的 Core Graphics 中编写绘图代码,我可以通过调用将活动填充颜色设置为红色:
如果我想要 50% 的灰色,我可以调用:
但是对于灰色阴影,很容易制作一条较短的线并调用:
然而,这个函数并不是简单地调用RGB方法,强度值被复制了3次;相反,它将上下文的颜色空间从 DeviceRGB 更改为 DeviceGray。下一次调用 RGB 方法会将其切换回来。
我很想知道:
- 切换色彩空间的惩罚是什么?
- 当您的上下文的色彩空间与您设备的本机色彩空间不匹配时,绘图会受到惩罚吗?(即,在 DeviceGray 与 DeviceRGB 中绘图)
我是出于对技术的好奇,而不是过早优化的愿望,所以请尽量减少您的警告。
iphone - 如何正确获取 CGColor 的颜色分量
我有一个黑色的 UILabel;
我正在编写以下代码来获取黑色的组件。
但这总是给出绿色分量而不是黑色分量;
有人对此有想法吗?
我在传递不同的色彩空间吗?
:-( 请帮我。
iphone - 确定 UIImage 的色彩空间
我想知道是否有一种简单的方法来获取图像的色彩空间(即加载到 UIImage 中的图像)?例如,我有一个 TIFF 图像,我希望能够确定它是否使用 RGB 颜色空间。有没有一种简单的方法可以在不操作像素数据的情况下做到这一点?我知道有一些 CGColorSpace 函数,但它们似乎都没有这样做,只是创建色彩空间并操纵它们(以及更高级的函数)。
提前致谢。
ios - CGGradientCreateWithColors 返回一个空指针
该问题在主题中有所描述;下面是我的代码:
它不工作。实际上,最后一个调用返回nil
;
NULL
当我用引用替换第一个参数时,它都不起作用CGColorSpace
,例如设备 RGB。
怎么了,有人有想法吗?
iphone - 从 UIColor 预设中获取 RGB 值
在我的应用程序中,我将 RGB 颜色值传递给服务器。我的应用使用 UIColor 预定义值,例如 [UIColor grayColor]、[UIColor redColor]。我知道我可以使用以下代码:
但仅适用于 RBG 颜色空间中的颜色,但 [UIColor grayColor] 不是。
有没有办法获得非 RBG 颜色的 RGB 值?
谢谢!
iphone - iOS 256 色 (VGA) 转 RGB
我想在 iOS 上将 VGA 颜色(256 色;8 位)转换为 RGB 颜色。
是否可以计算这个或者我必须使用颜色表(使用 CGColorSpaceCreateIndexed)。
UIColor 不支持 256 色。
谢谢 :)
objective-c - CGImageGetColorSpace(image) 的结果是否必须发布?
我正在缩放一个CGImageRef
. 我在网上找到了各种这样开头的代码示例:
如您在上面看到的,colorspace
已发布。但是,当我这样做时,我的代码大部分时间都可以工作,但偶尔会崩溃,因为有时该颜色空间实例已经消失了。API 文档说:
您有责任根据需要保留和释放色彩空间。
这是否意味着我必须释放它?我假设约定是只有Create
名称中带有“”的调用结果才返回必须显式释放的对象。这是否意味着网络上的示例在发布时完全错误CGColorSpaceRef
?
ios - 在 iOS 中创建/比较实验室配置的颜色
对于我正在开发的应用程序,我正在尝试创建和比较(之间的距离)CIE Lab配置颜色。
我知道有一些方法可以通过一些数学方法从典型的RGB转换为Lab,但如果可能的话,我想以更优雅的方式做到这一点。
创建 CIE LAB 颜色
到目前为止,我已经尝试了以下......(白/黑点和范围数字来自这里)
我不确定这是否是在这个空间中创建颜色的正确方法,特别是因为 UIColor 使用的 RGB 空间首先比 Lab 更受限制!此外,在从 CGColor 到 UIColor 的转换过程中,我是否会丢失我的色彩空间?(图像中最大的色彩空间是LAB)
还有一点需要考虑的是,iDevice 屏幕能否正确显示 Lab 颜色(因为它们的像素使用 RGB)?
本质上,我正在寻找在 Lab 空间内生成随机颜色的正确方法。
比较 CIE LAB 颜色
然后,一旦我有了这些 Lab 颜色,如何获得三个值(L、a和b)来计算一种颜色与另一种颜色之间的距离?一旦我创建了一种颜色并将其封装在 UIColor 中,读取和比较 UIColor 的 CGComponents 是否会保持我正在寻找的准确性?(我之前在 RGB 空间中通过采用欧几里德距离来完成此操作,这里应该是相同的概念,除了距离将考虑人类感知差异,这就是我正在努力做的事情。)
###如果你已经读到这里,我感谢你,并感谢你可能有的任何意见或你可以分享的类似经验!###
ios - GBitmapContextCreate:不支持的参数组合
CGBitmapContextCreate 遇到问题并获得:
错误:不支持的像素描述 - 1 个分量,每分量 8 位,每像素 8 位
使用此代码:
它是每个像素 8 位,每个组件 8 位。不知道为什么我会收到错误消息。我在这里看到了一些其他关于如何正确处理的帖子,但大多数都处理编辑图像而不是创建新图像,因此可以从原始图像中获取一些设置。