【发布时间】:2012-06-30 02:26:41
【问题描述】:
我有一个路径“调色板”,我会画很多次;可能有 100 个。
我想在这样的指定位置绘制这些:
CGPathRef foo = ...
CGPathRef bar = ...
// do this dozens of times at differing points
[self draw:context path:foo atX:100 andY:50];
[self draw:context path:bar atX:200 andY:50];
我现在正在做的是翻译。它有效,但我不确定这是性能最高的解决方案。像这样的:
- (CGRect) draw:(CGContextRef) context path:(CGPathRef) path atX:(CGFloat) x andY: (CGFloat)y
{
CGContextSaveGState(context);
CGContextTranslateCTM(context, x, y);
CGRect pathBoundingRect = CGPathGetBoundingBox(path);
CGContextSetFillColorWithColor(context, drawColor);
CGContextAddPath(context, path);
CGContextDrawPath(context, kCGPathFill);
CGContextRestoreGState(context);
return pathBoundingRect;
}
您有什么改进建议吗?
【问题讨论】:
标签: ios macos core-graphics