绘制路径笔触和阴影(iOS)

时间:2011-06-29 17:29:32

标签: ios drawing core-graphics quartz-graphics

我正在使用此代码创建一个圆角形图像:

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 个答案:

答案 0 :(得分:3)

您必须执行CGContextStrokePath或CGContextFillPath来绘制您创建的路径。 (确保首先使用CGContextSetStrokeColor设置笔触颜色)然后可以使用CGContextSetShadow制作阴影,这是一个描述CoreGraphics阴影的苹果开发者页面:

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