2016-08-10 32 views
0

我有大图像纹理(4-12MB),并且尽可能地调整它们的大小而不会丢失太多细节,并且想要进一步压缩它们。在线压缩器将12.6MB图像压缩到6MB没有任何问题,但Xcode不支持它(尽管压缩图像仍然是.png),显然是因为索引颜色空间不支持位图图形上下文(根据CGBitmapContextCreate文档和另一篇文章),压缩的图像使用它们。如果我尝试使用它,我得到一个错误:哪个程序或格式用于纹理压缩

CGBitmapContextCreate: unsupported color space.

我一直在寻找通过关于压缩和支持的格式苹果的文档,但所有我能找到的是关于如何在代码压缩图像信息。我希望能够在编辑器中应用压缩(或缩小尺寸)的图像,而不是稍后在代码中应用。这可能吗?

如果无法使用程序来完成此操作,应该如何通过Swift中的代码完成此操作?我发现很多关于这个的Objective-C帖子,但没有一篇使用Swift。

+1

如果你想将OBJ-C的代码翻译成Swift,你应该试试https://objectivec2swift.com/#/home/main - Swiftify。 –

+0

如果您要将纹理加载到SpriteKit中,请查看此iOS纹理优化框架。 http://stackoverflow.com/a/38679128/763355 – MoDJ

回答

0

Important: iOS does not support device-independent or generic color spaces. iOS applications must use device color spaces instead.

使用CGColorSpaceCreateDeviceRGB作为颜色空间。