【发布时间】:2022-03-09 12:45:52
【问题描述】:
我尝试在使用 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 可在此处获得:
【问题讨论】:
-
既然是矢量图,为什么还要
icon.pdf和icon_small.pdf呢?我的第一个猜测是icon.pdf搞砸了。只需将icon_small.pdf用于所有尺寸。这是一个矢量图像,它会根据需要进行缩放。 -
两者都是矢量图形 (pdf)。我将两者都包括在内是为了说明由 SwiftUI 调整大小的 pdf 具有锐利的边缘。因此,在将它们包含在我的项目中之前,我必须手动调整它们的大小。但是,据我了解,SwiftUI 应该能够调整图像大小而不会使边缘变得锐利。
-
hm...我尝试了一个大型矢量图像并调整了它的大小,它确实像素化了。一定是
SwiftUI中的矢量图像支持存在问题。让我们看看其他人有什么要说的。 -
在 macOS 上也是如此
-
它似乎仍然无法按预期工作。你是在什么地方报告的吗?
标签: pdf swiftui image-resizing vector-graphics