Objective c 使用Objective C,我需要将4种CMYK颜色组合成一种。
作为一名客观的C新手,我不是一名图形程序员,我正在为苹果提供的Xcode SDK 4.1版的各种图形库而挣扎。有Cocoa、OpenGL ES、Quartz 2D和各种其他高端和低端图形功能层(框架)。我只想把4种特定的颜色组合起来,在iPad、iPhone和iPodtouch上展示Objective c 使用Objective C,我需要将4种CMYK颜色组合成一种。,objective-c,image-processing,colors,Objective C,Image Processing,Colors,作为一名客观的C新手,我不是一名图形程序员,我正在为苹果提供的Xcode SDK 4.1版的各种图形库而挣扎。有Cocoa、OpenGL ES、Quartz 2D和各种其他高端和低端图形功能层(框架)。我只想把4种特定的颜色组合起来,在iPad、iPhone和iPodtouch上展示 我意识到我可以将CMYK颜色转换成RGBA,从光学角度看没有太大区别,但我想在Objective C中将颜色组合成一个颜色对象是我的问题。我已经研究了视图的分层、石英中图像的混合模式等。我不确定是否首先需要创建BM
我意识到我可以将CMYK颜色转换成RGBA,从光学角度看没有太大区别,但我想在Objective C中将颜色组合成一个颜色对象是我的问题。我已经研究了视图的分层、石英中图像的混合模式等。我不确定是否首先需要创建BMP文件,或者是什么。我想对于一个新手来说,这一切都有点让人不知所措,我希望能得到一些关于图形概念/术语的指导,然后也许能帮助选择哪个图形框架可以完成这项工作。没有理由从CMYK转换为RGB。您只需要使用
CGColor
和CYMK颜色空间创建颜色
CGColorSpaceRef cmykColorSpace = CGColorSpaceCreateDeviceCMYK();
CGFloat colors[5] = {1, 1, 1, 1, 1}; // CMYK+Alpha
CGColorRef cgColor = CGColorCreate(cmykColorSpace, colors);
UIColor *uiColor = [UIColor colorWithCGColor:cgColor];
CGColorRelease(cgColor);
CGColorSpaceRelease(cmykColorSpace);
您现在可以使用该颜色执行任何操作。没有理由将CMYK转换为RGB。您只需要使用
CGColor
和CYMK颜色空间创建颜色
CGColorSpaceRef cmykColorSpace = CGColorSpaceCreateDeviceCMYK();
CGFloat colors[5] = {1, 1, 1, 1, 1}; // CMYK+Alpha
CGColorRef cgColor = CGColorCreate(cmykColorSpace, colors);
UIColor *uiColor = [UIColor colorWithCGColor:cgColor];
CGColorRelease(cgColor);
CGColorSpaceRelease(cmykColorSpace);
你现在可以用这种颜色做任何你想做的事情。罗布的回答很酷-我从来都不知道CGColorCreate函数 如果你想调整颜色组合的方式,你可以在UIColor上使用我的分类——如果你选择的话,你可以在类方法中更改混合算法(我希望我编写的那些方法很好)。该类别还支持在RGB或RYB中组合 享受
DamienRob的回答很酷-我从来不知道CGColorCreate函数 如果你想调整颜色组合的方式,你可以在UIColor上使用我的分类——如果你选择的话,你可以在类方法中更改混合算法(我希望我编写的那些方法很好)。该类别还支持在RGB或RYB中组合 享受
达米恩谢谢罗布。我很抱歉没有在这个网站上对颜色混合进行适当的搜索,并找到了许多关于我如何混合cmyk颜色的解释。您的代码示例与我在Quartz中尝试的非常相似。谢谢Rob。我很抱歉没有在这个网站上对颜色混合进行适当的搜索,并找到了许多关于我如何混合cmyk颜色的解释。您的代码示例很像我在Quartz中尝试的。