我画一个圆形图像中一个UITableView细胞像这样:添加阴影的UIImage绘制圆的路径
CGRect imageRect = CGRectMake(8, 8, 40, 40);
CGFloat radius = 3;
CGFloat minx = CGRectGetMinX(imageRect);
CGFloat midx = CGRectGetMidX(imageRect);
CGFloat maxx = CGRectGetMaxX(imageRect);
CGFloat miny = CGRectGetMinY(imageRect);
CGFloat midy = CGRectGetMidY(imageRect);
CGFloat maxy = CGRectGetMaxY(imageRect);
CGContextMoveToPoint(context, minx, midy);
CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);
CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);
CGContextAddArcToPoint(context, minx, maxy, minx, midy, radius);
CGContextClosePath(context);
CGContextClip(context);
[self.theImage drawInRect:imageRect];
这看起来不错,但我想阴影添加到它添加效果。 我使用的线沿线的一些尝试:
CGContextSetShadowWithColor(context, CGSizeMake(2, 2), 2, [[UIColor grayColor] CGColor]);
CGContextFillPath(context);
但是,当图像有透明区域这只作品,如果图像是完全不透明,它甚至不会画周围的阴影边境。
我想知道是否有什么我做错了吗?
我唯一可以从该网页拿起的是我可以使用CGContextSetShadow(context,CGSizeMake(1,-1),3);而不是我之前使用的。如果图像没有任何透明度,我仍然不清楚如何在图像的正反面之外绘制阴影。 – 2010-03-20 14:22:52