-
Господа, у меня такая проблема: Постоянно поступают папки с фотографиями, в каждой около 1000 штук. Сфотканы на разные фотоаппараты.
Задача номер1: Определить разницу во времени между фотографированием, причем данные нужно брать из самого jpeg-файла (метаданные) или (если таковых нет) из свойств файла. В принципе я это реализовал с помощью компонента Exif. Но т.к. формат даты и времени каждый фотоаппарат записывает по-своему возникает много проблем.
Задача номер 2: Нарисовать линию времени (timeline), где на временной шкале размером в сутки будут отображаться мини-фотки. Тут совсем сложно, даже не представляю как это можно попроще реализовать. Пробовал во время работы программы создавать кучу TImage-й в различной удаленности по координате "X" и в них загонять фотки, но это ужасно работает. Может кто компонент для таймлайна, завязанного на календарь подскажет или еще чего.
Думаю что графический компонент мне очень поможет, т.к. если в него вбить все картинки, то и временное расстояние можно будет определить.
Постарался объяснить как смог. Буду рад любой помощи. Спасибо
-
Компонент есть - TMozg.
-
умник?
-
> ИЛЕЙ
Тебе, вероятно, нужен компонент, который похож на то, что обычно используется в видеоредакторах (типа Ulead Video Studio, Adobe Premiere). Скорее всего такой компонент может назваться TimeLine. Но готового я не встречал. Скорее всего придется делать самому.
-
-
> DVM У меня по ссылке не открывается ничего
-
зачем тебе туча timage? создай один длинный (или широкий) tbitmap, впечатывай в него уменьшенные картинки в нужных координатах и выводи его на tscrollbox через onpaint.
-
Сейчас аналогичная штука понадобилась (timeline, и хорошо бы с удобным масштабированием и т.д.), вот как-то сразу пришла идея попробовать воспользоваться чем-нибудь вроде tChart...
-
Когда-то делал похожую вещь, если нужно нарисовать миниатурку картинки а потом с каждой картинкой взаимодействовать, на пример увеличить при наведении мышки или открыть по клику, поставь на форму TFrame попробуй создавать run-time тот же TImage или ему подобные компоненты на этом TFrame, каждому TImage при создании присваиваешь уникальное значение Tag, по которому потом будешь отличать его, и другие параметры которые тебе нужны. Потом когда нужен доступ делаешь поиск компонентов на форме, отсеиваешь класс TImage, отсеиваешь свой Tag, и обращяешься к компоненту так: (Sender as TImage).Canvas.Draw(); на пример не забудь, что перед закрытием формы, надо освободить созданные run-time компоненты. А Если нужно просто показать миниатюрки, и ничего больше, то легче всего на битмапе рисовать.
-
Удалено модератором
|