gpt4 book ai didi

iPhone CGContext : drawing two lines with two different colors

转载 作者:行者123 更新时间:2023-12-03 18:27:49 26 4
gpt4 key购买 nike

我在 iPhone 应用程序中使用 CGContext 时遇到一些问题。我试图用不同的颜色绘制几条线,但所有线最终总是具有最后使用的颜色。我尝试了几种方法,但并不幸运。

我建立了一个小型示例项目来处理这个问题。这是我的代码,我在drawRect方法中使用。我正在尝试画一条红线和一条蓝线:

- (void)drawRect:(CGRect)rect{
NSLog(@"drawrect!");
CGContextRef bluecontext = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(bluecontext, 2.0);
CGContextSetStrokeColorWithColor(bluecontext, [UIColor blueColor].CGColor);
CGContextMoveToPoint(bluecontext, 1, 1);
CGContextAddLineToPoint(bluecontext, 100, 100);
CGContextSetStrokeColorWithColor(bluecontext, [UIColor redColor].CGColor);
CGContextAddLineToPoint(bluecontext, 200, 100);
CGContextStrokePath(bluecontext);
}

感谢您的帮助

最佳答案

在第二次设置描边颜色之前插入此代码:

CGContextStrokePath(bluecontext);
CGContextBeginPath(bluecontext);

所有 AddLine 和 AddOther 调用都在构建路径。路径是通过像 StrokePath 这样的调用使用最近设置的颜色和其他属性来绘制的。您正在尝试绘制两条单独的路径,因此必须为每条路径调用 Begin 和 Stroke。当你开始绘画时,Begin 有点隐含,尽管你自己调用它并没有什么坏处。绘制的基本流程是:

CGContextBeginPath(bluecontext); // clears any previous path
// add lines, curves, rectangles, etc...
CGContextStrokePath(bluecontext); // renders the path

关于iPhone CGContext : drawing two lines with two different colors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com