我试图旋转图像,我想在图像文件上绘制(到上下文。 一切正常,除非我旋转图像。
基本上我有一张图片;我想缩放和调整图像大小,然后将其剪辑为矩形并最终将其绘制到UICurrentContext;
//create a new graphic context
UIGraphicsBeginImageContext(CGSizeMake(500, 500));
CGContextRef graphicContext = UIGraphicsGetCurrentContext();
CGContextDrawImage(graphicContext, CGRectMake(0, 0, rect.size.width, rect.size.height), image.CGImage);
CGContextRotateCTM(graphicContext, 45 * M_PI/180.0);
UIImage* editedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//draw it to the current context
[editedImage drawAtPoint:CGPointMake(0,0)];
事情是当我旋转图像时,我不知道imagecontext的新大小是什么。接下来,编辑图像中的图像不旋转..
答案 0 :(得分:3)
您需要在绘制之前旋转上下文。我知道这看起来很傻,但要用一张纸的比喻......这是一张无法移动的纸。相反,你必须绕过它然后画画。
这样,你的体型永远不会改变,因为任何太大的东西都会被简单地切掉。
编辑此外,此功能采用弧度而非度数,因此您无需像现在一样进行转换。如果你想要45度它只是PI / 4(在math.h中存储为常量M_PI_4
)。