拍摄快照并保存到相机胶卷时的 iOS 图像大小

Posted

技术标签:

【中文标题】拍摄快照并保存到相机胶卷时的 iOS 图像大小【英文标题】:iOS image size when taking snapshot and save into camera roll 【发布时间】:2013-01-20 02:01:23 【问题描述】:

我截取了一张图片并将图像保存到相机胶卷中,然后将此图像设置为锁定屏幕。 但是 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);

【问题讨论】:

【参考方案1】:

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

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

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);

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

【讨论】:

以上是关于拍摄快照并保存到相机胶卷时的 iOS 图像大小的主要内容,如果未能解决你的问题,请参考以下文章