Я думаю, что прошу невозможного, но спрошу все равно ...
У меня есть папка (с несколькими подпапками), которая содержит много изображений в JPG и PNG. И мне нужен инструмент, который создает список этих файлов, включая их размеры. (Ширина и высота.) Для этого я могу просто загрузить изображение в растровое изображение и прочитать свойства Width/Height. Это было бы хорошо, если бы сами изображения не были такими огромными ...
Стандартный размер изображения составляет около 8 мегапикселей, но около 10% составляет от 40 до 100 мегапикселей. (Да, это 10 000x10 000 пикселей.) Это означает, что я имею дело с файлами PNG размером от 50 до 100 МБ каждый. В общей сложности 7500 изображений это означает, что мой инструмент довольно занят чтением большого количества файлов.
Мне нужен более быстрый способ прочитать размеры этих типов файлов. Не из-за использования памяти, поскольку моя система имеет 32 ГБ оперативной памяти, а потому, что я не хочу ждать 45 минут, чтобы индекс был сделан ... (Ну, небольшое преувеличение, но это не быстро.)Как получить габариты изображения без загрузки изображения
ответ
У вас есть полная статья и рабочий код по следующей ссылке (CodeProject).
http://www.codeproject.com/Articles/35978/Reading-Image-Headers-to-Get-Width-and-Height
Он читает информацию заголовков, чтобы получить размеры изображения. Производительность выглядит неплохо.
Посмотрите на jhead here. или exiv2, см. here.
Это довольно быстро, и вы можете использовать что-то вроде «system()» для запуска и анализа вывода.
Пример вывода:
File name : b.jpg
File size : 643664 bytes
File date : 2014:02:19 13:07:29
Camera make : NIKON CORPORATION
Camera model : NIKON D2Xs
Date/Time : 2007:08:01 11:02:28
Resolution : 1200 x 797
Flash used : No
Focal length : 28.0mm (35mm equivalent: 42mm)
Exposure time: 0.0016 s (1/640)
Aperture : f/7.1
ISO equiv. : 250
Whitebalance : Auto
Metering Mode: center weight
Exposure : shutter priority (semi-auto)
GPS Latitude : N 52d 13.3690m 0s
GPS Longitude: W 0d 52.7070m 0s
GPS Altitude : 456.00m
Exiv2 обрабатывает PNG файлов, а также, и C-вызываемым в качестве библиотеки, поэтому, может быть, более элегантно.
Я действительно не хочу разбирать выходные данные другого приложения, и мне не нравится вызывать стороннюю библиотеку из моего кода. Он должен делать намного больше, чем просто читать размеры изображений, так как ему нужно создать каталог этих изображений. Мой проект создаст миниатюры «по требованию», но должен показать сетку с шириной/высотой исходного изображения. (Без миниатюры.) –
- 1. Получите габариты изображения без загрузки Image
- 2. Фреска. Как получить размер изображения без загрузки полного растрового изображения
- 3. Как получить размеры изображения (ширина и высота) без загрузки изображения?
- 4. Как я могу получить размеры изображения без загрузки всего изображения?
- 5. Получить ширину и высоту изображения без загрузки изображения в .NET?
- 6. Получить размер изображения Corona без его загрузки
- 7. Получить изображение src без загрузки изображения?
- 8. Я хочу получить размер изображения, ширину, высоту без загрузки изображения
- 9. Получить размер изображения без загрузки в память
- 10. бесконечный прокрутка без загрузки изображения
- 11. Delphi - Показать изображения без загрузки
- 12. Изображения из просмотра без загрузки
- 13. Как получить LINKS без изображения?
- 14. Как быстро загрузить изображения без ленивой загрузки?
- 15. Как получить изображения после загрузки в контроллер Spring без перезагрузки?
- 16. преобразование изображения в содержание байта без загрузки изображения
- 17. Swift: Как получить размер изображения UIImageView после завершения загрузки изображения?
- 18. Вычисление Размеры/Размер изображения без его загрузки
- 19. Универсальный коэффициент загрузки изображения изображения
- 20. Datawarehouse - Как связать габариты
- 21. Поиск размера изображения без его загрузки
- 22. laravel 4 Загрузка ресурса изображения без повторной загрузки изображения
- 23. Как получить источник изображения из формы загрузки?
- 24. Как получить возможность загрузки изображения для ckeditor
- 25. Как получить размеры изображения после его загрузки?
- 26. Масштабирование изображения Java без загрузки всего изображения в память
- 27. Получите размер изображения до загрузки изображения
- 28. Как получить размер изображения файла изображения в моноточе без его загрузки?
- 29. Как получить ширину и высоту изображения из url без загрузки полного изображения в Android?
- 30. Как получить эскиз изображения с его веб-url в Android без загрузки полного изображения
Выглядит хорошо. Полный код находится за стенкой регистрации, поэтому он менее доступен для других. Кроме того, в статье говорится, что он не работает для всех изображений, поэтому ему нужна конструкция try/catch. Так может быть, у кого-то есть лучший пример? –