我尝试使用Xcode 11.4和iOS 13.4在启用SwiftUI的应用程序中包含pdf。但是,当我调整pdf大小时,它会出现卷曲边缘。我提供了两个版本的pdf:一个大pdf(icon.pdf
)和一个小pdf(icon_small.pdf
)。当我调整icon.pdf
的大小时,它会获得开始边缘,而icon_small.pdf
会得到平滑的边缘。该问题也适用于我尝试过的所有其他PDF。
这是我的代码:
struct ContentView: View {
var body: some View {
VStack {
Spacer()
Text("icon.pdf:")
Image("icon")
.resizable()
.renderingMode(.template)
.aspectRatio(contentMode: .fit)
.frame(width: 27.0, height: 27.0)
Spacer()
Text("icon_small.pdf:")
Image("icon_small")
Spacer()
}
}
}
icon.pdf
和icon_small.pdf
都具有以下资产设置:
PDF可以在这里找到:
[两个PDF文件之间基本上没有区别,除了在一种情况下,内容的坐标按〜14.2的比例缩放]。
我想差别不在于PDF文件,而是在渲染引擎中您用来绘制内容。请注意,PDF文件使用透明度(其alpha常数为0.4),因此混合计算可能会导致边缘结果略有不同。
查看Adobe Acrobat中的两个文件,它们在屏幕上缩放为相同大小,它们之间没有可见的差异。
放大到您的PNG文件中,我看到icon_small.pdf具有抗锯齿的边缘,而icon.pdf没有。您没有说要使用什么将PDF文件渲染为PNG,但我认为您将不得不与使用任何工具的作者进行讨论。