9
A
回答
14
使用CAShapeLayer的面具,你要裁剪的层。 CAShapeLayer有一个带有CGPathRef的路径属性。
1
是的,你可以覆盖你自定义图层的drawInContext。
func addPathAndClipIfNeeded(ctx:CGContext) {
if (self.path != nil) {
CGContextAddPath(ctx,self.path);
if (self.stroke) {
CGContextSetLineWidth(ctx, self.lineWidth);
CGContextReplacePathWithStrokedPath(ctx);
}
CGContextClip(ctx);
}
}
override public func drawInContext(ctx: CGContext) {
super.drawInContext(ctx)
addPathAndClipIfNeeded(ctx)
}
或者您可以创建一个CAShapeLayer作为掩码。
相关问题
- 1. 裁剪多个路径出来的UIImage
- 2. Chrome中的SVG路径裁剪问题
- 3. 裁剪特殊路径的图像
- 4. 如何从路径中裁剪图像?
- 5. 修剪最新的任意文件夹名称的路径
- 6. 裁剪/剪裁Sprite
- 7. 如何裁剪一个词?
- 8. 如何“裁剪”一个uiimage?
- 9. 动画CALayer阴影路径
- 10. 如何在Android中的矩形内裁剪圆形路径
- 11. 裁剪路径和比例的组合导致闪烁
- 12. 裁剪而不是裁剪
- 13. 为什么javascript canvas2d裁剪需要路径?
- 14. 线裁剪为任意二维多边形
- 15. 裁剪
- 16. WPF DocumentPaginator和DocumentPage意外裁剪
- 17. Can Graphics.DrawImage是否无意裁剪图像?
- 18. CSS3边框半径裁剪发出
- 19. 卸下裁员从路径
- 20. 无法剪裁/裁剪图像
- 21. 围绕任意路径拟合边框
- 22. 获取CALayer的圆角内容区域轮廓作为剪切路径
- 23. 在c中裁剪一个列表
- 24. 如何裁剪/保留一个网站?
- 25. 裁剪一个android画布drawArc
- 26. 中心裁剪一个numpy数组
- 27. 如何裁剪一个字符串?
- 28. 如何裁剪一个三角形
- 29. 在Xcode中裁剪一个UIWebView
- 30. 如何裁剪图像到一个帧