macos - 如何使用 AppleScript 获取图像(jpeg、raw)的捕获日期时间?
问题描述
到目前为止,我只能获得比捕获日期晚几秒钟的图像文件创建日期。如何从 Exif 获取图像的捕获日期?
tell application "Finder"
try
set the source_folder to (folder of the front window) as text
on error -- no open folder windows
set the source_folder to (path to desktop folder) as text
end try
set these_items to the selection
end tell
set repeatCount to 1
repeat with i from 1 to the count of these_items
set this_item to (item i of these_items) as alias
set this_info to info for this_item
set {file_name, file_ext} to splitExtension from the name of this_info
set capture_date to (the creation date of this_info)
set formatted_date to (my dateFormat(capture_date))
set new_name to formatted_date & file_ext
-- check to see if it's already there
tell application "Finder"
if (exists item (source_folder & new_name)) then
--- display dialog new_name & " already exists."
set new_name to formatted_date & "_" & repeatCount & file_ext
set name of this_item to new_name
set repeatCount to 1 + repeatCount
else
set name of this_item to new_name
end if
end tell
end repeat
解决方案
您可以在 AppleScriptObjC 和 AppKit 的帮助下获取 EXIF 数据。
结果是包含数据的 Applescript 记录,捕获日期可能是 key 的值,DateTimeDigitized
它是一个字符串。
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions
use framework "AppKit"
set theFile to (choose file)
set imageRep to current application's NSBitmapImageRep's imageRepWithContentsOfFile:(POSIX path of theFile)
set exifData to imageRep's valueForProperty:(current application's NSImageEXIFData)
if exifData is missing value then
display dialog "No EXIF data found" buttons "Cancel" default button 1
else
set exifData to exifData as record
set captureDate to DateTimeDigitized of exifData
end if
推荐阅读
- javascript - 如何在传单地图上显示 SQL 查询
- python - Selenium:如何处理 DOM 中的无效 CSS 选择器
- jquery - jQuery 动画所有元素,而不是仅下一个
- php - 获取自 DB symfony 4 以来的最大值形式
- adb - 如何在真实设备上模拟指纹进行测试?
- php - WordPress 使用 $ultimatemember 添加用户角色
- c# - 使用数组将数据绑定到下拉列表
- docker - Chrome 在 docker 容器中返回状态码 400
- swift - 分布式通知不再在 Catalina 中工作
- sas - 具有自定义日期格式的 sas 格式变量 - 如何保留格式?