ben*_*ado 5 iphone macos core-graphics cgcolorspace
如果我在Mac OS X或iPhone OS上的Core Graphics中编写绘图代码,我可以通过调用以下方法将活动填充颜色设置为红色:
CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0); // RGB(1,0,0)
Run Code Online (Sandbox Code Playgroud)
如果我想要50%灰色,我可以打电话:
CGContextSetRGBFillColor(context, 0.5, 0.5, 0.5, 1.0); // RGB(0.5,0.5,0.5)
Run Code Online (Sandbox Code Playgroud)
但是对于灰色阴影,很容易做出一条较短的线并且打电话:
CGContextSetGrayFillColor(context, 0.5, 1.0);
Run Code Online (Sandbox Code Playgroud)
但是,这个函数不是简单地调用RGB方法,强度值被复制三次; 相反,它正在将上下文的颜色空间从DeviceRGB更改为DeviceGray.下一次调用RGB方法会将其切换回来.
我很想知道:
我要求技术上的好奇心,而不是过早优化的愿望,所以请将你的告诫保持在最低限度.