2014-02-05 53 views
2

我試圖截取我的iPad應用程序的屏幕截圖,並創建一個UIImage,然後我可以模糊並使用有趣的東西。我走的截圖用下面的代碼,這是工作完美:drawViewHierachyInRect以錯誤的方向繪製iPad

- (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等。

+1

你可以在根視圖控制器的視圖上調用它嗎? –

+0

我當然可以!工作完美,非常感謝。想要提交答案,以便我可以標記它? – Luke

回答

2

您可以改爲在根視圖控制器的視圖上調用它。這與窗口具有相同的內容,但與設備的方向相同。