2016-02-26 48 views
0

这是我的代码,在我的应用程序中拍摄部分屏幕截图!屏幕截图的大小正是我想要的,但是当我在相机胶卷中拉起它时,图像看起来并不重要,而不是我想要的质量。我写的代码有什么问题?为什么我的部分屏幕快照模糊不清?

@IBAction func screenShotButton(sender: Any Object) { 
     let top: CGFloat = 196 
     let bottom: CGFloat = 197 
     let size = CGSize(width: view.frame.size.width, height: view.frame.size.height - top - bottom) 
     UIGraphicsBeginImageContext(size) 
    let context = UIGraphicsGetCurrentContext()! 
    CGContextTranslateCTM(context, 0, -top) 
    view.layer.renderInContext(context) 
    let snapshot = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 
    UIImageWriteToSavedPhotosAlbum(snapshot, nil, nil, nil) 
    } 
+0

你能告诉我们一个模糊截图的例子吗? – mech

回答

0

使用UIGraphicsBeginImageContextWithOptions并将0作为比例。

UIGraphicsBeginImageContext文档:

此功能等同于调用设置为NO的不透明参数和1.0的比例因子UIGraphicsBeginImageContextWithOptions功能。

下面介绍的UIGraphicsBeginImageContextWithOptions比例系数参数:

规模因子用于该位图。如果您指定的值为0.0,则缩放系数将设置为设备主屏幕的缩放系数。

换句话说,在像iPhone 6这样的视网膜设备上,原生比例因子是2或3的iPhone 6 Plus。传递0作为比例参数将为当前设备选择正确的比例因子。

+0

为什么它不让我将不透明参数更改为“NO”?它一直说有错误 –

+0

在Swift中NO是错误的。 – titaniumdecoy

+0

@BrandonPriest请接受这个答案,如果你发现它有帮助。谢谢! – titaniumdecoy