ios – 使用UIGraphicsBeginImageContextWithOptions for iPad 3(Retina)的屏幕截图

我正在使用以下代码截取屏幕截图:

    // Returns 1024x768 for iPad Retina
    CGSize screenDimensions = [[UIScreen mainScreen] bounds].size;

    // Create a graphics context with the target size
    // (last parameter takes scale into account)
    UIGraphicsBeginImageContextWithOptions(screenDimensions, NO, 0);

    // Render the view to a new context
    CGContextRef context = UIGraphicsGetCurrentContext();
    [myView.layer renderInContext:context];

    // Save to Camera Roll
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
    UIImageWriteToSavedPhotosAlbum(screenshot, self, nil, nil);

    UIGraphicsEndImageContext();

这是有效的,但我有一个用户的报告,这会导致相机胶卷中的图像不符合iPad视网膜分辨率.相反,它看起来更像iPad非视网膜分辨率. (我没有iPad 3来测试它).

还有什么我做错了吗?

最佳答案 所以我终于拿到了一个物理的iPad Retina,我发布的代码原本工作正常.生成的图像看起来确实处于完整的Retina分辨率.

点赞