0
我正在将一些图形绘制代码从SKShapeNodes重写为CGContext/CALayers。我试图在CGContext中绘制一条曲线。这是我曾经有过在SpriteKit:如何在CGContext中绘制曲线 - 类似SKShapeNode with glowWidth
CGPathRef path = …(some path)
SKShapeNode *node = [SKShapeNode node];
node.path = path;
node.glowWidth = 60;
它与暗灰色背景添加到现场后,结果如下:
是否有可能画线使用CGContext这样的辉光,但不使用CIFilters?通常情况下,我将绘制一个非空白的背景背景,所以我不想在绘制线条后使用CIFilters。
我已经尝试过的 “影子” 的解决方案,但结果远非完美:
UIGraphicsBeginImageContextWithOptions(frame.size, NO, 1);
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat glowWidth = 60.0;
CGContextSetShadowWithColor(context, CGSizeMake(0.0, 0.0), glowWidth, [UIColor whiteColor].CGColor);
CGContextBeginPath(context);
CGContextAddPath(context, path);
CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextStrokePath(context);
结果(阴影几乎不可见):
请让我知道你是否有一些想法。
我想在'CGContext' /'CALayer'中实现辉光。对于某些操作,我更喜欢低级绘图以更好地管理使用的内存。另外,我想只为线条发光,而不是整个图形,这可以通过使用glowWidth属性在'SKShapeNode'中轻松实现,就像我刚才提到的那样。问题是我想避免'SKNode'机制。我想用'CGContext'绘制这种光芒。 – jakubr