【发布时间】:2016-02-03 16:30:20
【问题描述】:
我正在打印相机胶卷、电子邮件、短信、FB、Twitter 等的部分屏幕截图...已选择部分屏幕 - 距顶部 100 像素,距底部 100 像素。
我使用了以下代码:
let top: CGFloat = 100
let bottom: CGFloat = 100
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)
生成的屏幕截图质量很差。
我研究了几个小时,发现有几个人有类似的问题。我无法完全理解修改为我的问题提供给他们的解决方案。
我确实设法找到了一个半修复。我改变了:
UIGraphicsBeginImageContext(size)
到
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size,true,2.0)
这实际上将我的屏幕截图放大了 2.0 倍
这似乎给了我一个更清晰/质量更好的部分截图,尽管图像比我预期的要大。
我可以应用其他可能更合适的解决方案吗?
谢谢!
【问题讨论】:
标签: ios swift image screenshot scale