0

私は現在、線幅を増減するスライダーを備えた描画アプリに取り組んでいます。スライダーの前の円が幅を表すという単純なことをしたいだけです。私はそれを簡単に行いましたが、中心から伸びたり縮んだりせず、上から伸びたり縮んだりしますx、y、ここにコードがあります

- (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;
}

ここに画像の説明を入力してください

ここに画像の説明を入力してください

4

1 に答える 1

2

試す

CGContextTranslateCTM(ctx, 12.5, 12.5);
CGRect circleRect = CGRectMake(-size/2., -size/2., size, size);
于 2012-09-10T11:40:50.783 に答える