С помощью переполнения стека я знакомлюсь с рисованием кварца в iPhone. Я хочу сделать код, который закрепляет шаблон полумесяца, это то, что я имею до сих пор, но он не работает так, как я ожидаю:
contextRef = UIGraphicsGetCurrentContext();
CGContextSaveGState(contextRef);
onlyDrawTopHalf = YES;
halfMultiplier = onlyDrawTopHalf ? -1.0 : 1.0;
ellipse = CGRectMake(50, 50, 128, 128);
clipRect = CGRectOffset(ellipse, halfMultiplier * ellipse.size.width / 2, 0);
CGContextClipToRect(contextRef, clipRect);
CGContextRestoreGState(contextRef);
onlyDrawTopHalf = YES;
halfMultiplier = onlyDrawTopHalf ? -1.0 : 1.0;
ellipse = CGRectMake(50, 50, 100, 128);
clipRect = CGRectOffset(ellipse, halfMultiplier * ellipse.size.width / 2, 0);
CGContextAddEllipseInRect(contextRef, clipRect);
CGContextEOClip(contextRef);
CGContextFillEllipseInRect(contextRef, ellipse);
Если быть точным, первый абзац кода рисует кружок (это работает), второй должен вырезать из него эллипс, но это не работает так, как задумано.