如何向 CGContextSetRGBFillColor 输入参数?
我正在尝试使用数据类型输入 CGContextSetRGBFillColor 的参数。例如:
NSString *colorcode = ctx, 0, 1, 0, 0;
CGContextSetRGBFillColor(colorcode);
但是我收到一条错误消息,说我的参数太少了。
我想根据用户操作更改发送到 CGContextSetRGBFillColor
的参数 (ctx, 0, 1, 0, 1 )
。
我想使用数据类型输入 CGContextSetRGBFillColor 的参数,因为它的值是在单独的视图控制器中设置的。或者我可以直接将参数输入 CGContextSetRGBFillColor ,然后将其传递给另一个视图控制器来使用它吗?
I'm trying to input the arguments for CGContextSetRGBFillColor
using a data type. For example:
NSString *colorcode = ctx, 0, 1, 0, 0;
CGContextSetRGBFillColor(colorcode);
But I get an error saying that I have too few arguments.
I want to change the arguments (ctx, 0, 1, 0, 1 )
sent to CGContextSetRGBFillColor
depending on the users actions.
I want to input the argument for CGContextSetRGBFillColor
using a data type because the values of it is set in a separate view controller. Or can I directly input the arguments to CGContextSetRGBFillColor
and then bring it over to the other view controller to use it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试使用
UIColor
对象来存储用户选择的颜色。你可以像这样创建一个:然后当需要使用它作为填充颜色时,你可以这样做:
我应该提到,如果你不使用ARC,你需要适当地保留和释放颜色。
Try using a
UIColor
object to store the user's selected color. You can create one like this:Then when it's time to use it as the fill color, you can do this:
I should mention that if you are not using ARC, you need to retain and release color appropriately.
听起来你真正需要做的是:
每个颜色分量都是 0.0 和 1.0 之间的某个分数。
你为什么使用 NSString?
此处是Apple网站上的文档。
Sounds like what you really need to be doing is:
Where each color component is some fraction between 0.0 and 1.0.
Why are you using a NSString?
Here is the documentation on Apple's website.
您可能对 CGColor 类感兴趣,或者特别是 iOS,UIColor。
这是将参数输入 CGContextSetRGBFillColor 的唯一方法。
这没有道理。带什么过来?
如果您想将颜色从一个视图控制器传递到另一个视图控制器,最好通过创建一个颜色对象(CGColor 或 UIColor)并传递它来完成。
You may be interested in the CGColor class, or, on iOS specifically, UIColor.
That's the only way to input the arguments to
CGContextSetRGBFillColor
.That doesn't make sense. Bring what over?
If you want to bring the color from one view controller to another, that's best done by creating a color object—either a CGColor or a UIColor—and passing that.