2017-01-04 1 views
0

Я хочу нарисовать круг на UIImageView. Я пробовал, но это не сработало.Как нарисовать круг на UIImageView без добавления слоя в объектив-c?

Это пример изображения того, что я хочу добиться:

Круг должен быть составлен на том, где пользователь нажимает на UIImageView и я хочу сделать это без добавления каких-либо sublayer.

Это какой-то способ сделать это? До сих пор я использовал этот код из Интернета, но он не сработал.

- (UIImage *)imageByDrawingCircleOnImage:(UIImage *)image 
            pointX:(float) x 
           PointY:(float) y 
{ 
    // begin a graphics context of sufficient size 
    UIGraphicsBeginImageContext(image.size); 

    // draw original image into the context 
    [image drawAtPoint:CGPointZero]; 

    // get the context for CoreGraphics 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 

    // set stroking color and draw circle 
    [[UIColor redColor] setStroke]; 

    // make circle rect 5 px from border 
    CGRect circleRect = CGRectMake(0, 0, 
            image.size.width, 
            image.size.height); 
    circleRect = CGRectInset(circleRect, x, y); 

    // draw circle 
    CGContextStrokeEllipseInRect(ctx, circleRect); 

    // make image out of bitmap context 
    UIImage *retImage = UIGraphicsGetImageFromCurrentImageContext(); 

    // free the context 
    UIGraphicsEndImageContext(); 
    return retImage; 
} 
+3

Не мог бы вы поделиться тем, что вы уже пробовали так далеко? – lsouza

+0

Как-то я не думаю, что вы строите для iOS 4. Пожалуйста, отметьте правильно. – rmaddy

+0

дать угол радиуса до половины ширины –

ответ

0

Пусть вид вашего объекта является квадрат, установите cornerRadius половину ширины или высоты. maskToBounds установить изображение в форму округлого imageView

Например, добавьте этот код для вашего требования,

yourImageView.layer.cornerRadius = yourImageView.imageView.frame.size.height /2; 
yourImageView.layer.masksToBounds = YES; 

Надеется, что это поможет вам :)

+0

изображение загружено на изображение, которое я хочу нарисовать окружность над изображением малого радиуса. – sohaib

+0

Прочтите это, это поможет вам бросить: https://agilewarrior.wordpress.com/2012/09/04/how-to-draw-circles-where-ever-someone-taps-your-screen-iphone-ipadios / –

Смежные вопросы