为什么[UIImage imageWithData:]支持PVRTC格式?

时间:2015-06-02 21:17:50

标签: ios opengl-es uiimage pvrtc

我突然发现在iOS 8.3 SDK中(我没有测试其他版本),我可以使用[UIImage imageWithData:]直接加载PVRTC格式吗?

不应该那样,对吧?我找不到任何关于它的文档或讨论,我甚至不知道我是否可以依赖它...

但它在模拟器和真实设备中都有效。

以下是我测试的一些代码,测试项目不包括OpenGLES.framework。

NSData *data = THE_CONTENT_OF_A_PVR_FILE;
NSString *tempDir = NSTemporaryDirectory();
[data writeToFile:[tempDir stringByAppendingPathComponent:@"temp.pvr"] atomically:YES];
UIImage *tempImage = [UIImage imageWithData:data];
[UIImagePNGRepresentation(tempImage) writeToFile:[tempDir stringByAppendingPathComponent:@"temp.png"] atomically:YES];

这两个已保存的文件在此处共享:http://d.pr/f/17ugQ

您可以在HEX编辑器中检查pvr文件,它与PVRTC格式版本2的规格相对应,在PVRTC4中使用像素格式。

有什么想法吗?

0 个答案:

没有答案