it-swarm-pt.tech

Obter dimensões de pixel de um PNG no meu Mac?

Eu tenho um aleatório .PNG arquivo no meu Mac. Na verdade, tenho cerca de cem deles. Qual é a maneira mais fácil de obter as dimensões de pixel? (Ou seja, 100 pixels de largura e 50 de altura, ou o que for).

20
William Jockusch

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 p.

$ 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:

enter image description here


Como alternativa, você pode ler os metadados do Spotlight:

mdls Pictures/238337225.png | grep kMDItemPixel
kMDItemPixelCount              = 1026000
kMDItemPixelHeight             = 900
kMDItemPixelWidth              = 1140

Para obter os nomes e as dimensões de todos os arquivos em um diretório:

$ mdls Pictures/* | 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 do 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

enter image description here


Você pode estender facilmente o script para exibir dimensões de vários arquivos de uma só vez ou por exemplo todos os arquivos png em um determinado diretório. A saída é como a caixa de diálogo Finder, para que você possa incorporá-la em um serviço Automator:

Abra Automator e selecione para criar um Serviço que receba arquivos de imagem como entrada em qualquer aplicativo.

Adicione uma ação Executar script do shell que receba entrada como argumentos e insira o seguinte:

dlg=
for f in "[email protected]"
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 Mostrar dimensões da imagem. Selecione alguns arquivos de imagem no Finder e selecione Finder "Serviços" Mostrar dimensões da imagem ou Right-click Em um dos arquivos e [Serviços "] Mostrar dimensões da imagem

enter image description here

enter image description here

35
Daniel Beck

Localize o arquivo em uma janela do Finder e:

  • Destaque o arquivo e pressione ⌘ Cmd⌥ OptionIou

  • Clique com a tecla Control pressionada no arquivo ⌥ Option para que você possa selecionar "Mostrar Inspetor".

Isso abrirá um inspetor que é semelhante à janela Obter informações, mas é atualizado sempre que você seleciona um arquivo.

Agora expanda a seção "Mais informações" no inspetor. Você poderá ver as dimensões e a profundidade de cores do PNG, entre outros dados. Selecione um novo arquivo para ver suas dimensões no inspetor.

An inspector window showing the highlighted file in a Finder window

8
Stephen Jennings

Essa é uma pergunta antiga, mas para os leitores atuais, agora existe uma solução prontamente disponível. No Yosemite, você pode ativar a "Mostrar coluna de visualização" no Finder. Localizador> Exibir> Mostrar opções de exibição

Aqui está uma captura de tela.

screenshot .

4
Sergi

A maneira mais fácil; abra as imagens no Safari.

Selecione todas as imagens. Então use Ctrl+ Clique no menu de contexto e escolha Abrir com> Safari.

Opcionalmente, você pode mesclar todos os menus abertos do Safari em guias separadas usando o menu Safari Janela> Mesclar todas as janelas.

A parte superior da janela do Safari exibe as dimensões da imagem: enter image description here

2
David Kennedy of Zenopolis

A seguir, como usar o Finder, adicione uma coluna separada 'Dimensões' e 'Resolução' à exibição em lista de uma pasta.

  • Abra sua pasta Imagens. /Usuários/~/Imagens
  • Crie uma nova pasta dentro da pasta Imagens aberta. Não arraste um de outro lugar.
  • Nesta nova pasta, na exibição de lista, clique com o botão direito/opção na linha do cabeçalho da coluna.
  • Marque as duas opções disponíveis na parte inferior do menu contextual, 'Dimensões' e 'Resolução'.

Agora a parte agradável.

  • Arraste esta nova pasta para a área de trabalho (ou qualquer outro local) e abra.
  • Observe que a linha de cabeçalho modificada mantém os cabeçalhos 'Dimensões' e 'Resolução'.
  • Adicione arquivos de imagens à pasta e, na exibição em lista, leia as informações de dimensões e resoluções de todos os arquivos de imagem de uma só vez, e não um de cada vez, com os vários métodos do painel de informações.

Às vezes, a resolução não é calculada ou está disponível e um traço aparecerá na coluna. Ver anexo.

Isso ainda funciona no macOS Sierra 10.12.6 Não sei se essa configuração de pasta permanece quando a pasta é movida para outra conta de usuário, pasta de rede etc.

Captura de tela: Pasta na exibição de lista com as colunas Dimensão e Resolução.

0
Peter Kleine