我发现当我使用CGAffineTransformMakeRotation来旋转线条时,线条不会改变。
这是我的代码:
func drawLine(drawObj:DrawObj) {
var context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextSetStrokeColorWithColor(context, drawObj.drawPara.lineColor.CGColor)
CGContextSetFillColorWithColor(context, drawObj.drawPara.fillColor.CGColor)
let originX = drawObj.left - drawObj.currentWidth/2
let originY = drawObj.top - drawObj.currentHeight/2
CGContextMoveToPoint(context, originX, originY);
let toX = originX + drawObj.currentWidth
let toY = originY + drawObj.currentHeight
CGContextAddLineToPoint(context, toX, toY);
CGContextStrokePath(context);
let roation = CGAffineTransformMakeRotation(CGFloat(Double(drawObj.angle)*M_PI/(180)))
CGContextConcatCTM(context, roation)
CGContextRestoreGState(context);
}
答案 0 :(得分:1)
因为在绘制线后旋转了上下文。如果要将旋转应用于线,请先旋转上下文。绘制线后,就会绘制它。