有没有办法将带有CGRect
系统坐标的UIView
转换为核心图形坐标,其原点位于左下角?
答案 0 :(得分:1)
<强>确定。您只需要从视图的高度中减去y原点和矩形的高度。
rect.origin.y = view.frame.size.height-(rect.origin.y+rect.size.height)
您可以使用CGAffineTransform
来表示:
CGAffineTransformMakeTranslation(0, view.size.height-((rect.origin.y*2.0)+rect.size.height))
你减去原点两次,因为你现在使用相对值而不是绝对值。
但是,如果您只想翻转上下文以便在UIView
坐标中工作,那么您需要:
CGFloat ctxHeight = CGContextGetClipBoundingBox(c).size.height;
CGContextScaleCTM(c, 1, -1);
CGContextTranslateCTM(c, 0, -ctxHeight);