核心显卡颜色上下文
所以......我有这个应用程序可以绘制形状,然后用户可以为它们着色。我制作了一个具有 4 个形状的选项卡栏,当单击其中一个时,就会绘制相应的形状。我从quartzDemo 中汲取了绘图的想法。所以我有一个形状通用类,然后是形状的 shape_name 子类。这是广场的代码。
@implementation Square
- (void)drawInContext:(CGContextRef)context {
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(context, 1.0);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 1, 1);
CGContextAddLineToPoint(context, 1, 79);
CGContextAddLineToPoint(context, 79, 79);
CGContextAddLineToPoint(context, 79, 1);
CGContextAddLineToPoint(context, 1, 1);
CGContextClosePath(context);
CGContextStrokePath(context);
}
@end
当点击形状时,会出现颜色菜单,我想在点击菜单中的按钮时更改颜色。我该怎么办呢。
提前。
So ... I have this app that draws shapes and then the user can color them. I made a tabbar that has 4 shapes and when one is clicked the respective shape is drawn. I took the drawing idea from the quartzDemo. So I have a shape general class and then shape_name subclasses of shape. Here is the code for the Square.
@implementation Square
- (void)drawInContext:(CGContextRef)context {
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(context, 1.0);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 1, 1);
CGContextAddLineToPoint(context, 1, 79);
CGContextAddLineToPoint(context, 79, 79);
CGContextAddLineToPoint(context, 79, 1);
CGContextAddLineToPoint(context, 1, 1);
CGContextClosePath(context);
CGContextStrokePath(context);
}
@end
When a shape is tapped a color menu appears and I want to change the color when a button from the menu is tapped. How can I do this.
Ty in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议向您的基本形状类添加一个属性,如下所示:
在菜单实现中,将该属性的值设置为用户选择的 UIColor 对象,并发送形状
setNeedsDisplay
。然后修改您的drawInContext:
方法,如下所示:I suggest adding a property to your base shape class like this:
In your menu implementation set the value of the property to a UIColor object of your user's choice and send the shape
setNeedsDisplay
. Then modify yourdrawInContext:
method as follows: