为什么 XCode 比 Illustrator 或 Photoshop 更好地缩放矢量图像?
Why does XCode scale Vector images better than Illustrator or Photoshop?
我尝试使用 XCode 的新 PDF 功能,该功能基本上将图像缩放为 1x、2x 和 3x。不幸的是我也在使用 Spritekit,所以我宁愿使用 SKTextureAtlases 而不是 Asset Catalog。
我的问题是 pdf 的光栅化版本看起来比从 Adobe Illustrator(或使用智能对象的 Photoshop)导出的任何文件都要好。
这是 link 到 Imgur album 的示例。
具体来说,从 Illustrator 导出的图像有 2 种正方形尺寸:60px 和 90px。 Xcode 中的图像都具有相同的名称,但在两个不同的图集中:atlas@2x.atlas 和 atlas@3x.atlas。 PDF 从 Illustrator 以 30 像素正方形导出,然后 Xcode 将其缩放为 2x 和 3x 版本。
那么为什么 Xcode 版本看起来更锐利(尤其是在圆角和平面之间的交界处)?
我认为这可能是分辨率问题:Xcode 没有所需的分辨率,因此放大图像导致出现故障。
当创建 SKSpriteNode
时没有指示大小,将使用纹理的大小。因此,如果您 SKSpriteNode
的尺寸为 30x30 点 ,则必须为 @2x 和 90x90 像素 @3x 的图像。
这也可能是 Illustrator 中的设置所致。
要在屏幕上进行真正的比较,您可以显示两个 SKSpriteNode
大小相同的 30x30 点:
- 它们中的第一个具有来自 Illustrator 生成的图集的纹理
- seconde 的纹理来自 XCode
的 PDF 功能创建的资产中的图像
请注意,对于此测试,您甚至不需要图集,因为图集用于渲染优化。
我尝试使用 XCode 的新 PDF 功能,该功能基本上将图像缩放为 1x、2x 和 3x。不幸的是我也在使用 Spritekit,所以我宁愿使用 SKTextureAtlases 而不是 Asset Catalog。
我的问题是 pdf 的光栅化版本看起来比从 Adobe Illustrator(或使用智能对象的 Photoshop)导出的任何文件都要好。
这是 link 到 Imgur album 的示例。
具体来说,从 Illustrator 导出的图像有 2 种正方形尺寸:60px 和 90px。 Xcode 中的图像都具有相同的名称,但在两个不同的图集中:atlas@2x.atlas 和 atlas@3x.atlas。 PDF 从 Illustrator 以 30 像素正方形导出,然后 Xcode 将其缩放为 2x 和 3x 版本。
那么为什么 Xcode 版本看起来更锐利(尤其是在圆角和平面之间的交界处)?
我认为这可能是分辨率问题:Xcode 没有所需的分辨率,因此放大图像导致出现故障。
当创建 SKSpriteNode
时没有指示大小,将使用纹理的大小。因此,如果您 SKSpriteNode
的尺寸为 30x30 点 ,则必须为 @2x 和 90x90 像素 @3x 的图像。
这也可能是 Illustrator 中的设置所致。
要在屏幕上进行真正的比较,您可以显示两个 SKSpriteNode
大小相同的 30x30 点:
- 它们中的第一个具有来自 Illustrator 生成的图集的纹理
- seconde 的纹理来自 XCode 的 PDF 功能创建的资产中的图像
请注意,对于此测试,您甚至不需要图集,因为图集用于渲染优化。