核心显卡颜色上下文

发布于 2024-10-16 10:00:31 字数 739 浏览 2 评论 0原文

所以......我有这个应用程序可以绘制形状,然后用户可以为它们着色。我制作了一个具有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自由范儿 2024-10-23 10:00:31

我建议向您的基本形状类添加一个属性,如下所示:

@property(nonatomic,retain) UIColor* fillColor;

在菜单实现中,将该属性的值设置为用户选择的 UIColor 对象,并发送形状 setNeedsDisplay。然后修改您的 drawInContext: 方法,如下所示:

CGContextSetFillColorWithColor(context, self.fillColor.CGColor);
// ... your current drawing code goes here
// replace the last line, with CGContextStrokePath(), with this:
CGContextDrawPath(context, kCGPathFillStroke);

I suggest adding a property to your base shape class like this:

@property(nonatomic,retain) UIColor* fillColor;

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 your drawInContext: method as follows:

CGContextSetFillColorWithColor(context, self.fillColor.CGColor);
// ... your current drawing code goes here
// replace the last line, with CGContextStrokePath(), with this:
CGContextDrawPath(context, kCGPathFillStroke);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文