Search code examples
objective-ciosquartz-2d

need assistance regarding growing & shrinking circle from centre in quartz-2d


I am currently working on drawing app, in which have a slider to increase and decrease line width. I just want to do a simple thing that a circle in front of slider to present a width. I easily did that but its not growing and shrinking from centre, its growing and shrinking from top x, y, here is the code

- (UIImage *)circleOnImage:(int)size
{
    UIGraphicsBeginImageContext(CGSizeMake(25, 25));

    CGContextRef ctx = UIGraphicsGetCurrentContext();

    [[UIColor blackColor] setFill];

        CGContextTranslateCTM(ctx, 12, 12);//also try to change the coordinate but didn't work

    CGRect circleRect = CGRectMake(0, 0, size, size);

    CGContextFillEllipseInRect(ctx, circleRect);

    UIImage *retImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return retImage;
}

enter image description here

enter image description here


Solution

  • Try

    CGContextTranslateCTM(ctx, 12.5, 12.5);
    CGRect circleRect = CGRectMake(-size/2., -size/2., size, size);