1 前言
使用 CGAffineTransformMakeRotation/CGContextRotateCTM函數來創建一個仿射旋轉變換。
2 代碼實例
ZYViewControllerView.m
[plain] - (void)drawRect:(CGRect)rect{
/* Create the path first. Just the path handle. */
CGMutablePathRef path = CGPathCreateMutable();
/* Here are our rectangle boundaries */
CGRect rectangle = CGRectMake(10.0f,10.0f, 200.0f, 300.0f);
/* Add the rectangle to the path */
CGPathAddRect(path,NULL, rectangle);
/* Get the handle to the current context */
CGContextRef currentContext = UIGraphicsGetCurrentContext();
/* Save the state of the context to revert back to how it was at this state, later */
CGContextSaveGState(currentContext);
//順時針旋轉45度
CGContextRotateCTM(currentContext,(45.0f * M_PI) / 180.0f);
/* Add the path to the context */
CGContextAddPath(currentContext, path);
/* Set the fill color to cornflower blue */
[[UIColor colorWithRed:0.20f green:0.60f blue:0.80f alpha:1.0f] setFill];
/* Set the stroke color to brown */
[[UIColor brownColor] setStroke];
/* Set the line width (for the stroke) to 5 */
CGContextSetLineWidth(currentContext,5.0f);
/* Stroke and fill the path on the context */
CGContextDrawPath(currentContext, kCGPathFillStroke);
/* Dispose of the path */
CGPathRelease(path);
/* Restore the state of the context */
CGContextRestoreGState(currentContext);
}