0

我截取了一张截图并将图像保存到相机胶卷中,并将此图像设置为锁定屏幕。
但是 iPhone 4 中的图像尺寸是 640*940。我怎样才能使它 640*960 没有任何失真?我猜状态栏有一些高度。

CGSize size = self.view.bounds.size;

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
4

1 回答 1

0

设置图像大小的两种方法...

您可以为屏幕截图设置自己的框架:

CGRect rect = CGRectMake(0, 0, 640, 960);
UIView *view = [[UIView alloc]initWithFrame:rect];
    UIGraphicsBeginImageContext(view.frame.size);

这将采用您想要的尺寸。请记住,如果您的屏幕尺寸为 320 x 480,您将获得 640 x 960 的返回图像,但将是实际屏幕截图范围之外的空白区域。

另一种方法是从对象(例如图像视图)中找到您想要的区域:

UIImageView *imageview;
UIGraphicsBeginImageContext(imageview.frame.size);

同样,这将返回您想要的内容,但实际屏幕尺寸之外的任何内容都将被空白填充。

于 2013-01-20T04:50:49.800 回答