gpt4 book ai didi

swift - NSView 到 PDF 和 PNG : Why is the outcome so different?

转载 作者:可可西里 更新时间:2023-11-01 01:58:06 25 4
gpt4 key购买 nike

我正在尝试将 NSView 保存到 PNG。我从 NSView 开始,然后为 PNG 调用 dataWithPDFcacheDisplay。执行这两项操作的代码如下所示。

guard view.lockFocusIfCanDraw() else {
assert (false)
return
}
let pdfData = view.dataWithPDF(inside: rect)
guard let imgData = view.bitmapImageRepForCachingDisplay(in: rect) else {
assert(false)
}
view.cacheDisplay(in: rect, to: imgData)
view.unlockFocus()
try pdfData.write(to: pdfName, options: .atomic)
let pngData = imgData.representation(using: .png, properties: [:])
try pngData!.write(to: pngName, options: .atomic)

到目前为止,还不错。然而,这是不同的结果。PDF(正确!) correct PDF output这是 PNG 输出。可以看到,不包括 subview 。箭头作为 view 的一部分绘制 enter image description here

为什么结果如此不同?

非常感谢!

最佳答案

好的,我找到了答案。感谢“View Debugging”,我看到 subview 使用了一个层(self.wantsLayer = true)。图层并没有进入 PNG,而是进入 PDF。不确定这是错误还是功能。但是,现在我可以修复 PNG 输出。

关于swift - NSView 到 PDF 和 PNG : Why is the outcome so different?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49494768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com