0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 56
1
Другие

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте, скачала архив с 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...

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

Ошибка при обработке 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...

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

16
6361 / 2785 / 1075
Регистрация: 06.06.2017
Сообщений: 9,462
20.03.2022, 18:47 2
Можно. Для этого скрипт пишется (если уже кем-то не написан).
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
16.01.2024, 19:47 3
Цитата Сообщение от elena-z Посмотреть сообщение
скачала архив с Google Фото, в архиве фотографии .JPG и файлы .json.
Цитата Сообщение от FlasherX Посмотреть сообщение
Можно..
Как? Есть какая-то прога для этого? XnView может ?
0
6361 / 2785 / 1075
Регистрация: 06.06.2017
Сообщений: 9,462
17.01.2024, 21:50 4
kamennik, не знаю таких прог. Скиньте пару jpg + json. Гляну, что можно сделать.
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
18.01.2024, 00:58 5
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 6
вопрос снят, я разобрался с той программой, просто структуру папок нужно было изменить на английский манер Takeout\Google Photos\Photos from 2023
Может кому-то пригодится - работает!
0
6361 / 2785 / 1075
Регистрация: 06.06.2017
Сообщений: 9,462
21.01.2024, 04:29 7
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 8
FlasherX, спасибо, Ваш скрипт тоже работает!
Только нужно добавить кроме фоток ещё форматы .mp4 и .gif
Я так понимаю просто дописать
Цитата Сообщение от FlasherX Посмотреть сообщение
"*.jpg;*.jpeg"
сюда?
0
6361 / 2785 / 1075
Регистрация: 06.06.2017
Сообщений: 9,462
23.01.2024, 20:18 9
kamennik, пожал'ста.
У mp4/gif нет даты съёмки. Могу только для даты модификации поправить.
0
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 9
24.01.2024, 14:28 10
FlasherX, я понял, наверно эта дата сохраняется при импорте, в принципе для фотопечати мне хватит и того что вы уже проделали! Может и ещё кому-то пригодится, кто, как и я набредёт на эту тему в просторах интернета. Странно что сам гугл не предлагает такой опции при импорте фотографий.
Миниатюры
Фотографии и .json   Фотографии и .json  
0
6361 / 2785 / 1075
Регистрация: 06.06.2017
Сообщений: 9,462
24.01.2024, 22:45 11
kamennik, гуглфото берёт дату создания мультимедиа у mp4 и дату съёмки jpeg. Это понятно. Узнать программно обе не проблема. Первую вряд ли можно исправить встроенными средствами без бинарного парсинга. Всякие даты создания для mp4 (и не только) можно только скопом через exiftool обработать. Как отдельно менять дату создания мультимедиа, способ пока не найден. Дату кодирования можно через ffmpeg установить. Также можно править более мелкими утилитами дату записи (Recorded Date). Если из этого сильно что-то надо, добавлю в код со ссылкой.
0
0 / 0 / 0
Регистрация: 09.10.2024
Сообщений: 2
09.10.2024, 01:37 12
как скачать этот код и сохранить в ansi?

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

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

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

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

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

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

Как отправить json post запросом и принят json в ответ?
Вообщем начал постигать новую windows phone... Решил сразу попытаться наладить общение с сервером....

JSON Reader. Как прочитать значение переменной в строке JSON
Добрый день! Подскажите пожалуйста как прочитать значение переменной в строке JSON: Есть...

Flask и SQLAlchemy и JSON. Не получается преобразовать результат запроса в json
У меня есть БД построенная из этих моделей с помощью миграций: # Class Class stores info...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru