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

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

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

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

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

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

解决方法

我认为这可能是一个解决问题:Xcode没有所需的分辨率,因此它会放大图像,从而导致毛刺.

创建SKSpriteNode时没有指示大小,使用纹理的大小.因此,如果SKSpriteNode的大小为30×30点,则必须为@ 2x提供60×60像素的图像,为@ 3x提供90×90像素的图像.

这也可能是由于Illustrator中的设置.

要在屏幕上进行真正的比较,您可以显示两个具有相同大小30×30点的SKSpriteNode:

>他们中的第一个拥有由Illustrator生成的地图集的纹理
> seconde具有来自XCode的PDF功能创建的资源图像的纹理

请注意,对于此测试,您甚至不需要图集,因为图集旨在进行渲染优化.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...