使用 CAEmitterLayer 的屏幕截图视图
Screenshot View with CAEmitterLayer
是否可以截取包含 CAEmitterLayer 的视图的屏幕截图?
每当我尝试时,视图都创建得很好,但是所有的粒子都丢失了,这是我的代码:
UIGraphicsBeginImageContext(drawingView.frame.size)
var context:CGContextRef = UIGraphicsGetCurrentContext()
drawingView.layer.renderInContext(context)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
我已经确认 CAEmitterLayer 在 drawingView.layer
这适用于 iOS,但现在我需要一个类似的方法用于 OSX:
func offscreenScreenshot(drawingView:UIView) -> Image
{
UIGraphicsBeginImageContextWithOptions(drawingView.frame.size, true, 1.0)
let res = drawingView.drawViewHierarchyInRect(drawingView.bounds, afterScreenUpdates: false)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
是否可以截取包含 CAEmitterLayer 的视图的屏幕截图?
每当我尝试时,视图都创建得很好,但是所有的粒子都丢失了,这是我的代码:
UIGraphicsBeginImageContext(drawingView.frame.size)
var context:CGContextRef = UIGraphicsGetCurrentContext()
drawingView.layer.renderInContext(context)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
我已经确认 CAEmitterLayer 在 drawingView.layer
这适用于 iOS,但现在我需要一个类似的方法用于 OSX:
func offscreenScreenshot(drawingView:UIView) -> Image
{
UIGraphicsBeginImageContextWithOptions(drawingView.frame.size, true, 1.0)
let res = drawingView.drawViewHierarchyInRect(drawingView.bounds, afterScreenUpdates: false)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}