Как очистить круг в CGContext в iOS

Я хочу создать изображение, используя CGcontext. Это простое изображение с белым или черным фоном. Также я хочу добавить прозрачную часть, которая находится в кругу (проверьте прикрепленное изображение). Я знаю, как сделать это прямо. Но я хочу сделать это кругом. Пожалуйста, кто-нибудь, помогите мне в этом.

1 ответ

Решение

Используйте приведенный ниже код, чтобы очистить круг в вашем контексте

-(UIImage *) getImageWithcenterClear:(CGPoint) center{

    CGRect frame = [[UIScreen mainScreen] bounds];

    UIGraphicsBeginImageContextWithOptions([[UIScreen mainScreen] bounds].size,
                                       NO, [UIScreen mainScreen].scale);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5 ] CGColor]);
    CGContextFillRect(context, frame);

    float radius = 50 * 2;
    // Clear Circle

    CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
    CGContextSetBlendMode(context, kCGBlendModeClear);
    CGContextAddArc(context, center.x, center.y, radius - 0.54, 0, 2 * M_PI, 0);
    CGContextDrawPath(context, kCGPathFill);
    CGContextSetBlendMode(context, kCGBlendModeNormal);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;

}
Другие вопросы по тегам