Вопрос или проблема
У меня есть родительская папка под названием “Pictures”, содержащая десятки тысяч фотографий, организованных в подпапки, которые названы по датам, например, “2020-04-07”. Некоторые из этих фотографий были сделаны на зеркальные камеры, мобильные телефоны или просто являются скриншотами компьютера. В качестве практики я выгружаю эти фотографии с помощью скрипта, который переносит изображения в папку с датой их создания и добавляет теги с помощью ExifTool Exiv2 на основе источника (например, мобильный, скриншот и т.д.). Я так часто фотографирую, что есть много снимков, которые я никогда не видел.
Моя цель — создать приложение для просмотра изображений, которое будет работать как цифровая фоторамка на рабочем столе и случайным образом отображать изображения на основе фильтров в виде слайд-шоу в окне с возможностью изменения размера. Я пробовал и покупал множество приложений, но они либо функционируют исключительно как заставка, либо не имеют критически важной функциональности. Я ищу приложение с текущими функциями:
ISO Платное или бесплатное приложение, совместимое с Microsoft Windows 7/8/10, которое может:
-
Отображать изображения в виде слайд-шоу в окне с возможностью изменения размера на рабочем столе и поддерживать соотношение сторон (НЕ как заставка).
Примечание: У меня многомониторная настройка, и я хотел бы иметь возможность размещать приложение на любом мониторе и просматривать изображения, работая в других приложениях.
- Отображать изображения рекурсивно из папки и ее подпапок.
-
Фильтровать изображения по exif-данным и/или тегам (например, мобильный, скриншот и т.д.).
Примечание: Я хочу иметь возможность включать или исключать изображения с такими тегами, как “скриншоты” или фотографии с такими тегами, как “onsite”, которые обозначают фотографии для работы.
- Случайным образом отображать изображения.
- Отображать имя файла отображаемого изображения – или – предоставлять опцию для открытия расположения изображения.
- Обеспечивать элементы управления на экране (т.е. предыдущее изображение, следующее изображение, пауза, воспроизведение) – или – предоставлять горячие клавиши для того же самого.
Из около 20 приложений, которые я пробовал, ближе всего к достижению желаемого результата было gPhotoShow, и я пытался изменить его размер с помощью AutoSizer для определенной позиции монитора. Я бы предпочел, чтобы программное обеспечение было автономным или портативным приложением, но я понимаю, что обработка тысяч изображений может сделать это непрактичным.
Вот некоторые из названий, которые я уже пробовал: XnView, FastStone Image Viewer, Wega2, gPhotoShow, Artsee, FastPhotoTagger, ImageEye, ImageGlass, HoneyView, VoidImageViewer, Able Photo Slide Show, IrfanView, ArtSage, AmoK Exif Sorter, Imgv (Image Viewer), QuickViewer, SuperSlide, PhotoSift, WildBit Viewer, Random Photo Screensaver, Adobe Bridge, DigiKam, FastPictureViewer, Zoner Photo Studio и др.
Я хотел такую же функциональность и не смог найти ничего. Последним средством было добавить главную папку в плейлист VLC и включить перемешивание. Работает хорошо, но без переходов между изображениями.
Ответ или решение
Чтобы ответить на ваш запрос о поиске программы для просмотра изображений, которая может случайным образом отображать фотографии из подкаталогов с использованием тегов-фильтров, необходимо обратиться к нескольким критериям, которые вы отметили. Проблема создания такой программы не тривиальна, особенно с учетом просмотра десятков тысяч фотографий с различными источниками, такими как цифровые зеркальные камеры (DSLR), мобильные устройства, и скриншоты.
Теория
Основная задача, исходя из вашего описания, заключается в поиске программы, которая сможет:
- Отображать изображения в виде слайд-шоу в изменяемом окне на рабочем столе, сохраняя соотношение сторон.
- Работать на многомониторной установке и иметь возможность размещать приложение на любом из мониторов.
- Искать и отображать изображения рекурсивно из папки и её подкаталогов.
- Фильтровать изображения по метаданным EXIF или тегам, что позволит вам, например, исключать скриншоты или рабочие фотографии.
- Случайным образом отображать выбранные изображения.
- Показать имя файла текущего изображения или предоставлять возможность открыть местоположение изображения.
- Предоставлять экранные элементы управления или горячие клавиши для управления просмотром (предыдущие/следующие изображения, пауза/воспроизведение).
Пример
Среди перечисленных вами программ, ни одна полностью не соответствует всем условиям, представленным в вашей проблематике. Однако можно попробовать более универсальные решения или набор инструментов. Программа VLC Media Player, как вы уже отметили, подходит для воспроизведения изображений, но у нее нет переходов между изображениями и ограниченных возможностей фильтрации на уровне метаданных.
Применение
Давайте рассмотрим несколько подходов для достижения вашего результата:
-
Разработка собственного скрипта:
- Python предоставляет мощные инструменты для работы с изображениями (например, библиотеки Pillow и PyQT/PySide для графического интерфейса). Вы могли бы написать скрипт, который будет удовлетворять всем вашим требованиям. Это может потребовать времени на настройку и разработку, но может стать идеальным решением.
-
Использование DaVinci Resolve:
- Используйте эту программу для более комплексной обработки изображений, добавления эффектов и создания анимационного слайдшоу. Она поддерживает Windows и работает с большим числом изображений.
-
Комбинация программ:
- Использование специализированных инструментов для управления тегами (ExifTool) для предварительного фильтра и подготовки изображений, и последующей интеграции с программами, такими как IrfanView для отображения слайд-шоу.
-
Альтернативные приложения:
- Можно искать в менее популярных, но мощных приложениях или веб-сервисах, которые могут предложить подобные функции. Возможно, это будут новые программы на рынке, которые еще не дошли до вашего внимания.
-
Обратитесь к разработчику ПО:
- Если вы обнаружите программу, которая почти удовлетворяет всем требованиям, вы можете связаться с разработчиком для добавления возможностей и адаптации их программного обеспечения под ваши нужды.
Заключение
Удовлетворение всех ваших требований в одном программном продукте — это вызов, который может потребовать интеграции нескольких технологий или инструментов. Возможно, подход с использованием собственного скрипта или комбинации различных приложений станет лучшим решением для вашей задаче. В качестве альтернативы, можно рассмотреть возможность адаптации или модификации существующих программ с поддержкой от их создателей.