2016-02-26 98 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