Формат изображения WebP на iOS

В настоящее время я изучаю возможность использования формата изображений Google WebP в нашем программном обеспечении iOS.

Я обнаружил, что нетрудно декодировать WebP в RGBA8888 по мере необходимости с помощью C-библиотеки Google.

Однако я хотел бы создать реализацию, сопоставимую с UIImage с точки зрения API и производительности.

Q1. Можно ли в iOS разработать декодер изображений, чтобы собственный imageWithData и другие API считывали новый формат?

Q2. Если нет, то какой API использует UIImageView (и другие элементы управления, предоставляемые фреймворком) для рисования UIImage? Является ли он общедоступным (например, drawInRect / drawAtPoint) или внутренним?

Могу ли я унаследовать от UIImage, переопределить несколько методов (например, + imageWithContentsOfFile, + imageWithData, + imageNamed, -drawInRect, -drawAtPoint) и заставить мои объекты WPImage вести себя хорошо ли работает API, предоставляемый SDK?

Q3. Если каждый экземпляр моего гипотетического класса WPImage будет подписываться на UIApplicationDidReceiveMemoryWarningNotification (чтобы очистить буфер изображения RGBA, оставляя намного меньшие исходные данные WebP в ОЗУ), не сильно ли это повредит производительности?

Программное обеспечение, которое мы разрабатываем, может легко иметь сотни различных изображений в оперативной памяти.

6
задан nyedidikeke 10 November 2019 в 02:56
поделиться