Почему [UIImage imageWithData:] поддерживает формат 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

Вы можете проверить файл pvr в HEX-редакторе, он соответствует спецификациям формата PVRTC версии 2, с форматом пикселей в PVRTC4.

Любая идея?

0 ответов

Другие вопросы по тегам