我正在尝试拍摄我的iPad应用程序的屏幕截图,然后创建一个UIImage
,然后我可以模糊,并做一些有趣的事情。我正在使用以下代码截取屏幕截图,该代码运行正常:
- (UIImage *)convertViewToImage
{
UIGraphicsBeginImageContext(self.bounds.size);
[self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
但是,我的应用仅支持横向显示,并且显示的屏幕截图向左旋转90度(纵向)。我在UIWindow
上调用此方法,我知道UIWindow
使用了不同的坐标系,但我无法弄清楚如何旋转UIImage
。我在这里阅读了几个类似的问题并尝试了他们的解决方案(使用initWithCGImage:scale:orientation
,并重新绘制图像),但由于它是全屏iPad图像,如果我旋转它,它似乎保持实际的纵向尺寸,但将旋转的图像拉伸到其中。
简而言之,上面的方法给了我我需要的东西,但是在768x1024,而不是1024x768。我需要将它向左旋转90度,与预览,Photoshop等中的旋转完全相同。
答案 0 :(得分:2)
您可以在根视图控制器的视图中调用它。它具有与窗口相同的内容,但具有设备的方向。