2012-01-17 104 views
0

我目前使用下面的代码产生每当用户按下“保存图像”的图像:如何拍摄高质量的截图/保存图像?

self.toolbar.hidden = YES; 

    UIGraphicsBeginImageContext(self.view.bounds.size); 
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 

    self.toolbar.hidden = NO; 

基本上,我躲在我不想在屏幕上显示的内容,然后拍摄正常的截图并保存到照片库。我想知道是否可以以更高的分辨率或质量保存。谢谢

回答

2

当你拍摄一个屏幕截图时,你需要使用屏幕本身的分辨率,而不是项目的分辨率。换句话说,如果你有一个10百万像素的图像,你缩小到适合你不再看到它为10 MP的屏幕,你将它看作屏幕分辨率。在视网膜显示器(假设为iPhone)中,屏幕分辨率为640 * 960像素,正常显示为320 * 480,因此每次拍摄屏幕截图时都不会再有这种分辨率。