Xcode:PDF 中的矢量图像质量较差

问题描述 投票:0回答:4

对于我的 iOS Swift 项目,我使用矢量化 pdf 文件,Xcode 从中渲染 @1x、@2x、@3x 图像。

当我将 PDF 生成的图像的质量与相同大小的普通 PNG 图像进行比较时,我发现它们之间的质量存在很大差异。理论上,下图中第一行和第三行的质量应该是相同的,因为应该在具有正常视网膜显示屏的 iPhone 6 上从 54x40 PDF 渲染和使用 108x80 图像。不幸的是,质量远未达到同等水平。

这些差异从何而来?如何提高生成图像的质量?

ios xcode7 vector-graphics
4个回答
45
投票

我会在此处的资产上设置

Preserve Vector Data
标志:

这将使其渲染为 pdf 并正确缩放。


15
投票

在 UIImage 中设置矢量图像的步骤:

1 - 将 svg 图像转换为 pdf 格式

2 - 将 pdf 图像添加到您的资产中

3 - 从属性检查器选项卡中选择图像(1.选中“保留矢量数据”和 2.在“单比例”中设置比例类型)

4(非常重要)-在代码中设置图像名称,而不是在故事板中

imgVec.image = UIImage.init(named: "yourImageName")

13
投票

PDF 应以 1x 分辨率保存,Xcode 将获取该文件并将其光栅化,为您生成 @1x、@2x 和 @3x 位图版本。

在您的情况下,将从您的 PDF 生成具有以下尺寸的 3 个 PNG:

从您发布的屏幕截图来看,单元格中的 UIImageView 的大小似乎与图标不匹配,因此您会感到模糊。重要的是要了解矢量图像不会这样使用,而是始终会被光栅化。

尝试使用 UIImageView 的分辨率(根据您的评论为 100x82px)保存 PDF,然后再次检查结果。


0
投票

就我而言,它有助于在压缩下图像的资产设置中从继承(自动)切换到无损。

© www.soinside.com 2019 - 2024. All rights reserved.