> func cachedisplayInRect(rect:NSRect,toBitmapImageRep bitmapImageRep:NSBitmAPImageRep)
>和func drawLayer(layer:CALayer,inContext ctx:CGContext)
没有成功.生成的图像始终为空(白色或透明).有没有人设法在优胜美地上做到这一点?
解决方法 你可以使用drawVIEwHIErarchyInRect来做到这一点:其他任何一种方法似乎都不起作用,就像这样使用它:UIGraphicsBeginImageContextWithOptions(newRect.size,YES,0);BOol ok = [vIEw drawVIEwHIErarchyInRect:newRect afterScreenUpdates:YES];if (!ok) { NSLog(@"Problem with drawVIEw...");}UIImage *image = UIGraphicsGetimageFromCurrentimageContext();UIGraphicsEndImageContext();
我在iOS中也是这样做的,但不幸的是这个方法很慢,也必须在主线程中运行,只有在afterScreenUpdates设置为yes时才有效.看到这个答案:How can I take a snapshot of a UIView that isn’t rendered?
从我可以看到的,如果网页的任何方面需要重新绘制,也无法分辨.
总结以上是内存溢出为你收集整理的macos – 将屏幕外WKWebView呈现为NSImage全部内容,希望文章能够帮你解决macos – 将屏幕外WKWebView呈现为NSImage所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)