У меня есть случайное .PNG
файл на моем Mac. На самом деле у меня есть приблизительно сто из них. Что самый легкий путь состоит в том, чтобы получить пиксельные размеры? (Т.е., 100 пикселей шириной и 50 высоких, или безотносительно).
В Терминале можно использовать следующее:
$ sips -g pixelWidth Pictures/238337225.png
/Users/danielbeck/Pictures/238337225.png
pixelWidth: 1140
$ sips -g pixelHeight Pictures/238337225.png
/Users/danielbeck/Pictures/238337225.png
pixelHeight: 900
Для извлечения значения только используйте, например.
$ sips -g pixelHeight Pictures/238337225.png | tail -n1 | cut -d" " -f4
900
Встроить это в AppleScript:
set h to do shell script "sips -g pixelHeight /Users/danielbeck/Pictures/238337225.png | tail -n1 | cut -d' ' -f4"
set w to do shell script "sips -g pixelWidth /Users/danielbeck/Pictures/238337225.png | tail -n1 | cut -d' ' -f4"
display alert "Height: " & (h as text) & "
Width: " & (w as text)
Результат:
С другой стороны, можно считать метаданные Центра внимания:
mdls Pictures/238337225.png | grep kMDItemPixel
kMDItemPixelCount = 1026000
kMDItemPixelHeight = 900
kMDItemPixelWidth = 1140
Получить имена и размеры всех файлов в каталоге:
$ mdls Pictures/* | grep "\(kMDItemDisplayName\|mMDItemPixel\)"
[...]
kMDItemDisplayName = "url.png"
kMDItemPixelCount = 16384
kMDItemPixelHeight = 128
kMDItemPixelWidth = 128
[...]
Или альтернативно, использование find
и sips
:
find /Users/danielbeck/Pictures -type f -name "*.png" -exec sips -g pixelWidth {} \; -exec sips -g pixelHeight {} \;
Больше больше гибкости, перенеситесь в сценарии оболочки:
$ cat dim.sh
#!/usr/bin/env bash
filename=$1
if [ ! -f "$filename" ] ; then
echo "$filename not found!";
exit 1
fi
h=$( mdls "$filename" | grep kMDItemPixelHeight | tail -n1 | cut -d= -f2 )
w=$( mdls "$filename" | grep kMDItemPixelWidth | tail -n1 | cut -d= -f2 )
osascript -e "tell application \"Finder\" to {activate, display alert \"$filename\\nWidth:$w\\nHeight:$h\"}"
Результат после chmod +x dim/sh
:
$ ./dim.sh Pictures/flying_cars.png
Вы могли легко расширить сценарий до размеров дисплея для нескольких файлов сразу, или например, всех png файлов в определенном каталоге. Вывод как диалоговое окно Средства поиска, таким образом, можно встроить его в услуги Automator:
Откройте Automator и выбор для создания Сервиса, который получает файлы изображений, как введено в любом приложении.
Добавьте действие Сценария оболочки Выполнения, которое получает вход как аргументы, и введите следующее:
dlg=
for f in "$@"
do
h=$( mdls "$f" | grep kMDItemPixelHeight | tail -n1 | cut -d= -f2 )
w=$( mdls "$f" | grep kMDItemPixelWidth | tail -n1 | cut -d= -f2 )
dlg="$dlg$f\nW:$w H:$h\n"
done
osascript -e "tell application \"Finder\" to {activate, display alert \"$dlg\"}"
exit 0
Сохраните как Выставочные Размеры изображения. Выберите несколько файлов изображений в Средстве поиска и выберите Средство поиска» Сервисы» Выставочные Размеры изображения или Right-click
на одном из файлов и [Сервисы»] Выставочные Размеры изображения
Найдите файл в окне Finder, и также:
Выделите файл и нажмите ⌘ Cmd + ⌥ Опция + я, или
Щелчок управления файл и содержит ⌥ Опцию, таким образом, можно выбрать "Выставочного Инспектора".
Это откроет инспектора, который подобен окну Get Info, но обновляет каждый раз, когда Вы выбираете файл.
Теперь разверните раздел "More info" по инспектору. Вы сможете видеть размеры PNG и глубину цвета среди других данных. Выберите новый файл для наблюдения его размеров в инспекторе.
Самый легкий путь; откройте изображения в Safari.
Выберите все изображения. Затем используйте контекстное меню Ctrl+Click и выберите Open With> Safari.
Дополнительно можно объединить все открытые меню Safari вместе в отдельные вкладки с помощью окна меню Safari> Слияние Весь Windows.
Вершина окна Safari отображает размеры изображения: