如果我需要将两个形状相加或相减,并将其设置为整个实体,那么最简单的方法是什么?例如,如果我从较大的圆圈中减去一个较小的圆圈,我会得到一个甜甜圈。
如果我需要为这个实体制作动画,并为这类实体(甜甜圈或其他)制作动画,那么它在iPad上会很重吗?
我需要一个方向来研究。
谢谢!
答案 0 :(得分:0)
您的帖子标有关键字“Core-Graphics”,因此我认为这就是您要使用的内容。要添加形状,只需绘制所需的2个或更多形状即可。我建议遵循以下模式:保存图形状态,绘制连接的形状,以及恢复绘制下一组形状的图形状态。像这样:
// Save the state
CGContextSaveGState (ctx);
// Do your drawing
CGContextBeginPath (ctx);
CGContextAddRect (ctx, rect);
CGContextAddEllipseInRect (ctx, ellipseRect); // Or whatever
CGContextClosePath (ctx);
CGContextFillPath (ctx);
// Restore the state
CGContextRestoreGState (ctx);
要减去形状,可以使用剪切路径:
// This is the path you want to draw within
CGContextBeginPath (ctx);
CGContextAddRect (ctx);
CGContextClosePath (ctx);
CGContextClip (ctx);
// Now draw the shape you want constrained within the above path
CGContextBeginPath (ctx);
CGContextAddEllipseInRect (ctx, ellipseRect);
CGContextClosePath (ctx);
CGContextFillPath (ctx); // This will fill everything in the path that is also within the clipping path, and nothing that is outside of the clipping path
另请参阅CGContextEOClip()
了解剪裁形状的其他方法。