Рисование контура обводкой и тенью (iOS) - PullRequest
1 голос
/ 29 июня 2011

Я использую этот код для создания изображения с закругленными углами:

CGContextBeginPath(context);
CGRect rect = CGRectMake(0, 0, imageObj.size.width, imageObj.size.height);

    CGContextAddRect(context, rect);


CGContextSaveGState(context);
CGContextTranslateCTM (context, CGRectGetMinX(rect), CGRectGetMinY(rect));
CGContextScaleCTM (context, ovalWidth, ovalHeight);
fw = CGRectGetWidth (rect) / ovalWidth;
fh = CGRectGetHeight (rect) / ovalHeight;
CGContextMoveToPoint(context, fw, fh/2);
CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);
CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1);
CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1);
CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1);
CGContextRestoreGState(context);

CGContextClosePath(context);
CGContextClip(context);

CGContextDrawImage(context, CGRectMake(0, 0, w, h), imageObj.CGImage);

Как добавить штрих и тень?

Пока у меня не получалось ...

Спасибо!

1 Ответ

3 голосов
/ 29 июня 2011

Вы должны сделать CGContextStrokePath или CGContextFillPath, чтобы нарисовать путь, который вы сделали.(убедитесь, что сначала вы установили цвет обводки с помощью CGContextSetStrokeColor), а затем вы можете использовать CGContextSetShadow для создания тени, вот страница разработчика для Apple, описывающая тени CoreGraphics:

http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadows/dq_shadows.html

...