У меня есть изображение, сжатое в NSData с использованием сжатия JPEG. Я обращаюсь к нему с [UIImage imageWithContentsOfFile:]
. Однако с большими изображениями это занимает несколько секунд. Есть ли более быстрый способ загрузки изображений из файловой системы, возможно, с той же скоростью, что и изображения, загружаемые из комплекта? А если нет, есть ли способ временно загрузить более качественную версию изображения, пока загружается полная версия, кроме сохранения более качественной версии?Получите более низкое качество UIImage из NSData?
ответ
Хотя вы можете быть в состоянии создать что-то вроде этого, используя JPEG 2000 (вы должны построить свою собственную копию библиотеки Jpeg, как discussed here, а затем вручную писать код для чтения), я не» Думаю, вы получите хорошую отдачу от инвестиций там. Стоимость чтения данных с диска по-прежнему, вероятно, подавит все остальное.
Во-первых, если вы читаете из своего пакета, используйте PNG, если это вообще возможно. iOS высоко оптимизирует PNG, хранящиеся в комплекте (часть процесса копирования состоит в том, чтобы переписать их в оптимизированном для iOS формате).
Независимо от того, что вы делаете, если вам нужен держатель места, вам, вероятно, понадобится предоставить его каким-то образом самим собой либо в виде отдельного файла, либо в виде пользовательского формата, который вы читаете и управляете собой. Это не было бы невероятно сложным форматом для разработки, но вам все равно придется делать все изменения размера заранее.
Главный ключ заключается в том, что чтение большого файла изображения дорого, и вы не должны делать это в основной теме. Вам нужно сделать это в фоновом режиме (GCD или операции) и обновить пользовательский интерфейс, когда данные станут доступными. Нет никакого простого способа обойти этот факт.
Низкая qulaity - файл меньший, чем другие ... Вот код для проверки файлов в папке документа приложения.
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:path]) {
NSDictionary *attributes = [manager attributesOfItemAtPath:path error:nil];
unsigned long long size = [attributes fileSize];
resultlbl.text = [NSString StringWithFormat:@"%d",size];
}
- 1. Преобразование UIView в UIImage дает низкое качество
- 2. Качество UIImage
- 3. iOS: изображение Coregraphics низкое качество
- 4. Низкое качество UIImage после прикрепив ее к кругу
- 5. Создать UiImage из NSData
- 6. Преобразование UIImage из NSData
- 7. андроид BitmapFactory.decodeStream низкое качество
- 8. Качество UIImage Плохое после сохранения
- 9. QT печать дает низкое качество
- 10. Низкое качество контекста представления захвата на iPad
- 11. UIImage Не устанавливается из NSData
- 12. Качество растрового изображения очень низкое
- 13. NSData -> UIImage -> NSData
- 14. нагрузки более низкое качество изображения, если выше один инст доступны
- 15. Снижение качество UIImage (сжимая его)
- 16. NSData качества UIImage
- 17. Высокое качество масштабирования UIImage
- 18. NSData/UIImage to String
- 19. Сохранено изображение в android низкое качество
- 20. NSData loading UIImage
- 21. Преобразование UIImage в NSData
- 22. NSData и UIImage
- 23. Convert NSData To UIImage
- 24. KurentoMediaServer: качество записи низкое, а потоковое качество хорошее
- 25. Cordova $ cordovaCapture.capture Качество видео всегда низкое
- 26. Низкое качество при конвертации PDF в JPG
- 27. Поиск типа изображения из NSData или UIImage
- 28. Указание масштаба для UIImage, загруженного из NSData
- 29. UIImage из NSData с неправильной ориентацией
- 30. Как получить UIImage из NSData SQLite blob