Форум программистов, компьютерный форум, киберфорум
Софт (программы)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/17: Рейтинг темы: голосов - 17, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 56
Другие

Фотографии и .json

18.03.2022, 21:34. Показов 5204. Ответов 16

Студворк — интернет-сервис помощи студентам
Здравствуйте, скачала архив с Google Фото, в архиве фотографии .JPG и файлы .json. Я так понимаю, что в этих файлах содержится информация о дате съемки.
Подскажите пожалуйста, как теперь вернуть эту информацию в сами фотографии, можно ли их как-то объединить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2022, 21:34
Ответы с готовыми решениями:

Скрытый опрос по фотографии. Анонимный комментарий для фотографии
Ребят такая проблема, не могу разобраться как сделать. задача такая есть детские фотографии пользователям нужно отгадать кто на ней...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из базы данных для отображения на...

16
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
20.03.2022, 18:47
Можно. Для этого скрипт пишется (если уже кем-то не написан).
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
16.01.2024, 19:47
Цитата Сообщение от elena-z Посмотреть сообщение
скачала архив с Google Фото, в архиве фотографии .JPG и файлы .json.
Цитата Сообщение от FlasherX Посмотреть сообщение
Можно..
Как? Есть какая-то прога для этого? XnView может ?
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
17.01.2024, 21:50
kamennik, не знаю таких прог. Скиньте пару jpg + json. Гляну, что можно сделать.
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
18.01.2024, 00:58
FlasherX, спасибо за содействие, я нашел https://github.com/TheLastGimb... eoutHelper только не работает почему-то у меня, может вы разберетесь?
Или что-то альтернативное предложите?
пару файлов для примера:
Вложения
Тип файла: zip Downloads.zip (420.3 Кб, 13 просмотров)
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
21.01.2024, 04:00
вопрос снят, я разобрался с той программой, просто структуру папок нужно было изменить на английский манер Takeout\Google Photos\Photos from 2023
Может кому-то пригодится - работает!
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
21.01.2024, 04:29
kamennik, я немного занят был, поэтому только сейчас выкладываю код.
ReplaceDatesInGooglePhotos.vbs
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Option Explicit
Dim oFSO, oItems, oIPr, oImg, oStm, oRgx, F, FN, JSON, Text, D
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oItems = CreateObject("Shell.Application")._
Namespace(oFSO.GetAbsolutePathName("")).Items
oItems.Filter 8256, "*.jpg;*.jpeg"
If oItems.Count Then
   Set oIPr = CreateObject("WIA.ImageProcess")
   Set oImg = CreateObject("WIA.ImageFile")
   Set oStm = CreateObject("ADODB.Stream")
   Set oRgx = New RegExp: oRgx.Global = 1
   oIPr.Filters.Add oIPr.FilterInfos("Exif").FilterID
   oIPr.Filters(1).Properties("Type") = 1002
   oIPr.Filters(1).Properties("ID") = 36867
   oStm.Open : oStm.CharSet = "UTF-8"
   oRgx.Pattern = "\d+ [а-я]([^U]+?(?= U))"
   For Each F in oItems
      FN = F.Path: JSON = FN + ".json"
      If oFSO.FileExists(JSON) Then
         oStm.LoadFromFile JSON
         Text = oStm.ReadText
         If oRgx.Test(Text) Then
            D = CDate(Replace(oRgx.Execute(Text)(1), ChrW(8239) & "г.,", ""))
            oIPr.Filters(1).Properties.Item("Value") = Year(D) & ":" & Right("0" &_
            Month(D), 2) & ":" & Right("0" & Day(D), 2) & " " & TimeValue(D)
            oImg.LoadFile FN: oIPr.Apply(oImg).SaveFile FN & "_"
            oFSO.GetFile(FN).Delete: oFSO.GetFile(FN & "_").Name = F
            F.ModifyDate = D
         End If
      End If
   Next
   oStm.Close
   Set oStm = Nothing
   Set oIPr = Nothing
   Set oImg = Nothing
   Set oRgx = Nothing
End If
Set oItems = Nothing
Set oFSO   = Nothing

Сохраняем файл в ANSI в папке с фотками и жмём Enter.
1
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
23.01.2024, 00:12
FlasherX, спасибо, Ваш скрипт тоже работает!
Только нужно добавить кроме фоток ещё форматы .mp4 и .gif
Я так понимаю просто дописать
Цитата Сообщение от FlasherX Посмотреть сообщение
"*.jpg;*.jpeg"
сюда?
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
23.01.2024, 20:18
kamennik, пожал'ста.
У mp4/gif нет даты съёмки. Могу только для даты модификации поправить.
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
24.01.2024, 14:28
FlasherX, я понял, наверно эта дата сохраняется при импорте, в принципе для фотопечати мне хватит и того что вы уже проделали! Может и ещё кому-то пригодится, кто, как и я набредёт на эту тему в просторах интернета. Странно что сам гугл не предлагает такой опции при импорте фотографий.
Миниатюры
Фотографии и .json   Фотографии и .json  
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
24.01.2024, 22:45
kamennik, гуглфото берёт дату создания мультимедиа у mp4 и дату съёмки jpeg. Это понятно. Узнать программно обе не проблема. Первую вряд ли можно исправить встроенными средствами без бинарного парсинга. Всякие даты создания для mp4 (и не только) можно только скопом через exiftool обработать. Как отдельно менять дату создания мультимедиа, способ пока не найден. Дату кодирования можно через ffmpeg установить. Также можно править более мелкими утилитами дату записи (Recorded Date). Если из этого сильно что-то надо, добавлю в код со ссылкой.
0
0 / 0 / 0
Регистрация: 09.10.2024
Сообщений: 2
09.10.2024, 01:37
как скачать этот код и сохранить в ansi?

Добавлено через 1 минуту
как сохранить файл в ansi? через блокнот не работает
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
09.10.2024, 02:03
lina88, копипастом.

Цитата Сообщение от lina88 Посмотреть сообщение
через блокнот не работает
Как вы это поняли? После того, как выбор ANSI снизу окна "Сохранить как" сделан и файл сохранён, в строке статуса главного окна ANSI не отображается?
0
0 / 0 / 0
Регистрация: 09.10.2024
Сообщений: 2
10.10.2024, 00:32
отображается , но ничего не происходит(((
Миниатюры
Фотографии и .json  
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
14.10.2024, 01:09
Надеюсь, Enter не в текстовом редакторе жмётся, а всё-таки в списке файлов Проводника или иного файлмененджера?
0
0 / 0 / 0
Регистрация: 27.06.2021
Сообщений: 1
10.01.2025, 22:05
FlasherX
Подскажите, делаю как Вы написали, но выдает это
Кликните здесь для просмотра всего текста
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,742
12.01.2025, 07:39
json в студию.

P.S.: Под спойлер такое не прячут.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2025, 07:39
Помогаю со студенческими работами здесь

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1'...

Не работает модуль json (функции json.dump(), json.load()
При запуске кода по сохранению и прочтению данных, сгенерированных пользователем: import json def get_stored_username(): ...

Json: возможно ли используя название поля класса взять из Json информацию
Есть такая строка: string a = json.Value<string>(); Также у меня есть класс Student, где есть, допустим поле public string Name; ...

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
Всем привет, пытаюсь произвести запрос к обработчику c помощью AJAX, выдает ошибку при парсинге JSON че за фигня? гляньте плииз ребята ...

System.Text.Json || AllowTrailingCommas не ставит запятые после объекта JSON
Добрый день! Есть функция которая сериализует объект класса в JSON строку. Параметром AllowTrailingCommas=true - отвечает за добавление...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru