我突然发现在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中使用像素格式。
有什么想法吗?