我在 Core Graphics 中创建了一条路径来绘制心形,但是,为此我创建了一个菱形和 2 个圆圈,这个图像看起来很棒,但我只想知道是否有可能获得“实际”来自这个 CGPath/CGContext 的心形。
这是绘制心脏的代码(对于任何感兴趣的人),这个形状是我想要创建的形状,因为心脏“驼峰”和尖三角形之间的连接是平滑的:
CGPathAddEllipseInRect(heartPath, NULL, CGRectMake(0, 0, 20, 20));
CGPathAddEllipseInRect(heartPath, NULL, CGRectMake(20, 0, 20, 20));
CGPathMoveToPoint(heartPath, NULL, 37.5, 16.5);
CGPathAddLineToPoint(heartPath, NULL, 37.5, 16.5);
CGPathAddLineToPoint(heartPath, NULL, 20, 37.5);
CGPathAddLineToPoint(heartPath, NULL, 2.5, 16.5);
CGPathAddLineToPoint(heartPath, NULL, 20, 10);
CGPathCloseSubpath(heartPath);
而这段代码:
CGPathAddArc(heartPath, NULL, 10, 10, 10, M_PI, 0, false); // Left hump
CGPathAddArc(heartPath, NULL, 30, 10, 10, M_PI, 0, false); // Right hump
CGPathAddLineToPoint(heartPath, NULL, 20, 37.5); // Pointy end
CGPathCloseSubpath(heartPath);
这是否可能且易于实施?如果有怎么办?
提前致谢!