0

我有一个带有子视图的容器视图,一些子视图可以在这个视图中旋转。最后我想做的是用旋转和非旋转子视图截取整个视图的屏幕截图。我选择不使用屏幕截图,而是分别处理每个元素并从中创建图像并将所有图像合并在一起。我这样做是为了将屏幕截图放大为原始图像。所以...

除了那些被旋转的子视图之外,一切都成功实现了。这是我如何截取每个子视图的代码:

UIGraphicsBeginImageContext(subview.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat angle = atan2(rte.transform.b, rte.transform.a);
CGContextRotateCTM (context, angle);
[subview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

这是旋转子视图的问题。下图显示了轻微旋转的子视图,但它的角被切断了。此外,该图像向左移动。比较左右两边。


(来源:vunet.us

我想我知道我正在处理一个小的原始框架内的旋转图像。但它的解决方法是什么?为使用的任何角度计算精确的帧大小似乎有点复杂。我没有一些更简单的解决方案吗?

4

0 回答 0