No Terminal, você pode usar o seguinte:
$ 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
Para extrair apenas o valor, use, por exemplo,
$ sips -g pixelHeight Pictures/238337225.png | tail -n1 | cut -d" " -f4
900
Para incorporar isso no 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)
Resultado:
Comoalternativa,vocêpodelerosmetadadosdoSpotlight:
mdlsPictures/238337225.png|grepkMDItemPixelkMDItemPixelCount=1026000kMDItemPixelHeight=900kMDItemPixelWidth=1140
Paraobterosnomesedimensõesdetodososarquivosemumdiretório:
$mdlsPictures/*|grep"\(kMDItemDisplayName\|mMDItemPixel\)"
[...]
kMDItemDisplayName = "url.png"
kMDItemPixelCount = 16384
kMDItemPixelHeight = 128
kMDItemPixelWidth = 128
[...]
Ou, alternativamente, usando find
e sips
:
find /Users/danielbeck/Pictures -type f -name "*.png" -exec sips -g pixelWidth {} \; -exec sips -g pixelHeight {} \;
Mais flexibilidade, envolva um script de shell:
$ 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\"}"
Resultado após chmod +x dim/sh
:
$ ./dim.sh Pictures/flying_cars.png
Vocêpodefacilmenteestenderoscriptparaexibirasdimensõesdeváriosarquivosdeumavezou,porexemplo,todososarquivospngemumdeterminadodiretório.AsaídaécomocaixadediálogodoFinder,paraquevocêpossaincorporá-laaumserviçodoAutomator:
AbraoAutomatoreselecioneparacriarumServiçoquerecebaarquivosdeimagemcomoentradaemqualqueraplicativo./p>
AdicioneumaaçãoExecutarScriptShellquerecebaentradacomoargumentosedigiteoseguinte:
dlg=forfin"$@"
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
Salvar como Exibir dimensões da imagem . Selecione alguns arquivos de imagem no Finder e selecione Localizador »Serviços» Mostrar dimensões da imagem ou Right-click
em um dos arquivos e [Serviços »] Exibir dimensões da imagem