- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 cocos2d 库制作 iOS 游戏。
假设您有两个具有两种不同颜色的对象 - 在 RGB 中定义为
Blue: 0,0,255
Yellow: 255,255,0
我想添加蓝色和黄色来变成绿色。
为了使事情过于复杂,假设蓝色对象比黄色对象大(为了论证,假设比例为 2:1),我添加的蓝色是黄色的两倍 - 如何我正确计算了这种新的(浅绿色)颜色。
我了解 LAB * Color Space 对于这种“自然色”类的东西很有用,但我不确定如何使用它 - 特别是在 cocos2d 对象的上下文中(AFAIK)仅限于使用RGB 在其配色方案中。
我非常感谢有关如何实现它的实际帮助。谢谢堆!
21/4 更新:所以在 LAB* 中,蓝色+黄色 ≠ 绿色(当您看到 they're at opposite ends of the same channel 时,这是有道理的)。 little 实际上是一个非常棘手的问题bit关于 SO 的讨论。似乎最终的答案是使用一款名为 Krita 的开源软件使用的 Kubelka-Munk 方法。我无法在任何地方找到它(公式或代码本身)。
This question有a link它使用 HSL 以类似于绘画的方法工作。我去试试看行不行,这里反馈一下结果。
与此同时 if anyone knows how to implement Kubelka-Munk 或者我在哪里可以找到执行此操作的代码或其他解决方案,我会非常非常兴奋!
最佳答案
没有蓝色和黄色混合产生绿色的颜色模型。自己尝试水粉,唯一有效的方法是青色和黄色。这就是为什么您应该尝试从 RGB 切换到 CMYK,并在需要时返回。这是它是如何完成的
void toCMYK(float red, float green, float blue, float* cmyk)
{
float k = MIN(255-red,MIN(255-green,255-blue));
float c = 255*(255-red-k)/(255-k);
float m = 255*(255-green-k)/(255-k);
float y = 255*(255-blue-k)/(255-k);
cmyk[0] = c;
cmyk[1] = m;
cmyk[2] = y;
cmyk[3] = k;
}
void toRGB(float c, float m, float y, float k, float *rgb)
{
rgb[0] = -((c * (255-k)) / 255 + k - 255);
rgb[1] = -((m * (255-k)) / 255 + k - 255);
rgb[2] = -((y * (255-k)) / 255 + k - 255);
}
然后在你的代码中,混合青色和黄色
float cmyk1[4];
toCMYK(255, 255, 0, cmyk1); // yellow
float cmyk2[4];
toCMYK(0, 255, 255, cmyk2); // cyan
// Mixing colors is as simple as adding
float cmykMix[] = { cmyk1[0] + cmyk2[0], cmyk1[1] + cmyk2[1], cmyk1[2] + cmyk2[2], cmyk1[3] + cmyk2[3] };
float rgb[3];
toRGB(cmykMix[0], cmykMix[1], cmykMix[2], cmykMix[3], rgb);
NSLog(@"RGB mix = (%f, %f, %f)", rgb[0], rgb[1], rgb[2]);
运行代码将产生:RGB mix = (0.000000, 255.000000, 0.000000)
关于c++ - 像油漆一样添加颜色(颜色)(蓝色 + 黄色 = 绿色等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10139833/
我有一个 datagridview,它的唯一目的是显示来自数据库的信息。出于某种原因,我还添加了额外的列,每一行都有“查看”链接。所以基本上 datagridView 的目的只是让用户单击“查看”链接
当按下我的按钮时,我不希望它的外观发生变化。当我触摸它时它会变成蓝色。我尝试进入 IB 并取消选中“突出显示调整图像”,但这似乎没有改变任何东西。我还没有选中“显示高亮显示触摸”。我如何禁用此功能?感
我是 CSS 和一般编程的新手,所以如果这是一个初学者问题,我很抱歉,但我自己找不到合适的解决方案。 如果我有特定的颜色代码(十六进制),例如#028dca,我怎样才能得到匹配的颜色? 我在网上找到了
Fiddler中这个图标是什么意思: 它未在 help 中列出. 最佳答案 此图标用于回复 Content-Type=Content-Type: text/html; 关于fiddler - 蓝色<>
默认的 UIButton 圆角矩形是深蓝色的。我希望表格中单元格的文本与这种蓝色相匹配。 我正在使用此代码,但我能找到的唯一蓝色是亮蓝色... cell.textLabel.textColor = [
我试过这个: myButton.highlight(true) 但这只会使按钮变成深蓝色,这就是按钮的“按下”状态。 此外,当我按键盘上的 Enter 键时,该按钮将不起作用。 当我按下回车键时,如何
我有一个 iOS 6 应用程序,它使用以下方法将所有导航栏按钮的色调颜色设置为绿色: [[UIBarButtonItem appearance] setTintColor:[UIColor color
当我创建一个 TreeView 控件时,插入几个项目,然后我使用 TVM_SELECTITEM 选择一个默认项目。但是这个项目没有用蓝色突出显示。稍后,如果我使用鼠标或键盘选择一个项目,它将突出显示。
目前我有代码: import random from psychopy import visual, event win = visual.Window() # A TextStim and five
如何更改 UISwitch 的默认颜色(蓝色)? 最佳答案 我想你要找的是这样的东西 UISwitch *testSwitch; //just something I made up [testSwi
我有一个 MKMap 和一系列 MKAnnotations,所有这些都是红色的,这很好。我在 IB 中选择了“显示用户位置”并将 MKAnnotation 从红色更改为蓝色,我的 viewForAnn
我正在尝试使用 C++ 和 openCV 检测下图中的 3 个蓝色圆圈。 我用这个代码 int main(){ Mat original=imread("img.jpg"); Ma
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: C# Textbox string separation 我想将字符串值即 (red,blue,black)
我正在使用 cocos2d 库制作 iOS 游戏。 假设您有两个具有两种不同颜色的对象 - 在 RGB 中定义为 Blue: 0,0,255 Yellow: 255,255,0 我想添加蓝色和
有没有办法轻松地将给定的十六进制颜色代码分配给更一般的类别(红色、绿色、蓝色、黄色、橙色、粉色、黑色、白色、灰色……)? 比如 #ffcc55 -> 橙色,#f0f0f0 -> 白色,... 编辑:甚
我创建了一个 UIButton: testNavigationButton.setTitle("Test", forState: .Normal) testNavigationButton.layer
我正在尝试编写一个裸机程序来闪烁绿色 LED。事实上,我无法打开或关闭任何 LED。这是一个现成的板。主板名称为 NUCLEO F429ZI。 Board Image 我已经浏览了原理图,并且确信引脚
我们已经使用对话流创建了一个聊天机器人。现在,我们想要对其进行测试,并需要一些测量或分析数据以确保该机器人已准备好向公众开放。我们使用对话框流中的“分析”功能的方法之一。但是,他们的文档中没有包含任何
我可以在设置 Pane 中更改我的应用程序(任何地方)的tintColor。当我更改tintColor,然后尝试返回到默认色调颜色时,导航栏中的某些按钮不会返回蓝色,我该如何处理这个问题? 验证:-
我希望使用非常明亮的金属色或荧光色来指定我的文本和 div 颜色。我还没有找到显示这些的任何标准。这些是否存在于颜色规范中,或者您能否向我推荐任何接近的尝试。谢谢。 最佳答案 Here's一个很好的荧
我是一名优秀的程序员,十分优秀!