Swift:渲染 PDF 时获得更好质量的图像
Swift: Getting better quality image when rendering PDF
我正在从多个情节提要视图渲染 PDF,一切正常...只有一个例外。一个大的圆形图像得到一个窄的、深色的边框,即使原始图像有 none。这是一个非常轻的图像,所以我明白为什么它可能无法完美呈现。我找到了一些较旧的解决方案,但到目前为止没有任何帮助。谢谢!
private func toPDF(views: [UIView]) {
let pageWidth = 612
let pageHeight = 792
let pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, CGRect(x: 0, y: 0, width: pageWidth, height: pageHeight), nil)
let context = UIGraphicsGetCurrentContext()
for view in views {
UIGraphicsBeginPDFPage()
view.layer.render(in: context!)
}
}
解决方案很简单。我使用的是具有透明背景的 PNG,这导致了 PDF 中的边框,如下所示。当我将 PNG 更改为纯白色背景时,边框消失了。
我正在从多个情节提要视图渲染 PDF,一切正常...只有一个例外。一个大的圆形图像得到一个窄的、深色的边框,即使原始图像有 none。这是一个非常轻的图像,所以我明白为什么它可能无法完美呈现。我找到了一些较旧的解决方案,但到目前为止没有任何帮助。谢谢!
private func toPDF(views: [UIView]) {
let pageWidth = 612
let pageHeight = 792
let pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, CGRect(x: 0, y: 0, width: pageWidth, height: pageHeight), nil)
let context = UIGraphicsGetCurrentContext()
for view in views {
UIGraphicsBeginPDFPage()
view.layer.render(in: context!)
}
}
解决方案很简单。我使用的是具有透明背景的 PNG,这导致了 PDF 中的边框,如下所示。当我将 PNG 更改为纯白色背景时,边框消失了。