为什么XCode比Illustrator或Photoshop更好地缩放矢量图像?

bri*_*art 7 pdf xcode sprite-kit asset-catalog sktexture

我尝试使用XCode的新PDF功能,基本上将图像缩放到1x,2x和3x.不幸的是我也在使用Spritekit,所以我宁愿使用SKTextureAtlases而不是资产目录.

我的问题是,pdf的栅格化版本看起来比Adobe Illustrator(或使用智能对象的Photoshop)的任何导出更好.

这是一个带有示例的Imgur专辑的链接.

具体来说,从Illustrator导出的图像有2个方形尺寸:60px和90px.Xcode中的图像都具有相同的名称,但有两个不同的地图集:atlas@2x.atlas和atlas@3x.atlas.PDF从Illustrator以30px的平方导出,然后Xcode将其缩放到2x和3x版本.

那么为什么Xcode版本看起来更清晰(特别是在圆角和平面之间的连接处)?

Dom*_*ial 0

我认为这可能是分辨率问题:Xcode 没有所需的分辨率,因此它会放大图像,从而导致故障。

当创建 a 时SKSpriteNode未指定大小,则使用纹理的大小。因此,如果您的SKSpriteNode尺寸为 30x30,则必须为 @2x带来 60x60像素的图像,为 @3x 带来 90x90像素的图像。

这也可能是由于 Illustrator 中的设置所致。

要在屏幕上进行真实比较,您可以显示两个SKSpriteNode大小相同的 30x30

  • 第一个的纹理来自 Illustrator 生成的图集
  • 第二个具有来自 XCode 的 PDF 功能创建的资产的图像的纹理

请注意,对于此测试,您甚至不需要图集,因为图集用于渲染优化。