Obtenir les dimensions en pixels d'un PNG sur mon Mac?

20

J'ai un .PNGfichier aléatoire sur mon Mac. En fait, j'en ai une centaine. Quelle est la façon la plus simple d'obtenir les dimensions en pixels? (C'est-à-dire, 100 pixels de large et 50 de haut, ou autre).

William Jockusch
la source
Cela n'apparaît-il pas simplement lorsque vous affichez les propriétés du fichier?
beatgammit
1
Je fais un clic droit, puis cliquez sur "Obtenir des informations" et je ne le vois pas.
William Jockusch

Réponses:

35

Dans Terminal, vous pouvez utiliser les éléments suivants:

$ 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

Pour extraire la valeur uniquement, utilisez par exemple

$ sips -g pixelHeight Pictures/238337225.png | tail -n1 | cut -d" " -f4
900

Pour intégrer cela dans 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)

Résultat:

entrez la description de l'image ici


Alternativement, vous pouvez lire les métadonnées Spotlight:

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

Pour obtenir les noms et les dimensions de tous les fichiers d'un répertoire:

$ mdls Pictures/* | grep "\(kMDItemDisplayName\|mMDItemPixel\)"
[...]
kMDItemDisplayName             = "url.png"
kMDItemPixelCount              = 16384
kMDItemPixelHeight             = 128
kMDItemPixelWidth              = 128
[...]

Ou bien, en utilisant findet sips:

find /Users/danielbeck/Pictures -type f -name "*.png" -exec sips -g pixelWidth {} \; -exec sips -g pixelHeight {} \;


Plus de flexibilité, encapsulez dans un script 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\"}"

Résultat après chmod +x dim/sh:

$ ./dim.sh Pictures/flying_cars.png

entrez la description de l'image ici


Vous pouvez facilement étendre le script pour afficher les dimensions de plusieurs fichiers à la fois, ou par exemple tous les fichiers png dans un certain répertoire. La sortie est sous forme de boîte de dialogue Finder, vous pouvez donc l'intégrer dans un service Automator:

Ouvrez Automator et sélectionnez pour créer un service qui reçoit des fichiers image en entrée dans n'importe quelle application .

Ajoutez une action Exécuter le script Shell qui reçoit une entrée en tant qu'arguments et entrez ce qui suit:

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

Enregistrer sous Afficher les dimensions de l'image . Sélectionnez quelques fichiers d'image dans le Finder et sélectionnez Finder »Services» Afficher les dimensions de l'image ou Right-clicksur l'un des fichiers et [Services »] Afficher les dimensions de l'image

entrez la description de l'image ici

entrez la description de l'image ici

Daniel Beck
la source
Oldie, mais toujours un goodie!
Manngo
8

Recherchez le fichier dans une fenêtre du Finder et:

  • Mettez le fichier en surbrillance et appuyez sur ⌘ Cmd+ ⌥ Option+ I, ou

  • Cliquez sur le fichier tout en maintenant la touche Contrôle enfoncée ⌥ Optionpour pouvoir sélectionner "Afficher l'inspecteur".

Cela ouvrira un inspecteur qui est similaire à la fenêtre Obtenir des informations, mais se met à jour à chaque fois que vous sélectionnez un fichier.

Développez maintenant la section "Plus d'infos" sur l'inspecteur. Vous pourrez voir les dimensions et la profondeur de couleur du PNG, entre autres données. Sélectionnez un nouveau fichier pour voir ses dimensions dans l'inspecteur.

Une fenêtre d'inspecteur affichant le fichier en surbrillance dans une fenêtre du Finder

Stephen Jennings
la source
2
Ce qui est étrange, c'est que lorsque j'ouvre cette fenêtre, ce que je vois sous "plus d'informations" est le titre, le titre et la dernière ouverture. . . mais pas de dimensions, d'espace colorimétrique, de profil de couleur ou de canal alpha. Mon OS est 10.6.7 et mon Finder est la version 10.6.8; Est-ce que cela pourrait être le problème?
William Jockusch
2
Cette fonction dépend de Spotlight pour indexer l'emplacement de l'image. L'image est-elle dans un emplacement non indexé?
Stephen Jennings
4

C'est une vieille question, mais pour les lecteurs actuels, il existe maintenant une solution facilement disponible. Dans Yosemite, vous pouvez activer la "Afficher la colonne d'aperçu" dans le Finder. Finder> Affichage> Afficher les options d'affichage

Voici une capture d'écran.

capture d'écran.

Sergi
la source
malheureusement, la question a été publiée en 2011 et yosemite a été publié en 2014
Francisco Tapia
1
oui, c'était le résultat de recherche numéro 1 lorsque j'ai cherché une réponse à ce problème sur Google, alors j'ai pensé que d'autres pourraient bénéficier de ma réponse
Sergi
2

La manière la plus simple; ouvrez les images dans Safari.

Sélectionnez toutes les images. Utilisez ensuite le Ctrlmenu contextuel + Cliquez et choisissez Ouvrir avec> Safari .

En option, vous pouvez fusionner tous les menus Safari ouverts dans des onglets séparés en utilisant le menu Safari Fenêtre> Fusionner toutes les fenêtres .

Le haut de la fenêtre Safari affiche les dimensions de l'image: entrez la description de l'image ici

David Kennedy de Zenopolis
la source
Je trouve vraiment bizarre que ce soit la seule option qui a fonctionné pour moi. Pourquoi dois-je ouvrir un navigateur pour voir les dimensions de l'image?!? C'est ridicule. Merci pour la réponse quand même
Michael
0

Voici comment utiliser le Finder ajouter une colonne séparée «Dimensions» et «Résolution» à la vue de liste d'un dossier.

  • Ouvrez votre dossier Images. / Utilisateurs / ~ / Images
  • Créez un nouveau dossier dans le dossier Images ouvert. N'en traînez pas un ailleurs.
  • Dans ce nouveau dossier, en vue liste, cliquez avec le bouton droit / option sur la ligne d'en-tête de colonne.
  • Vérifiez les deux options disponibles au bas du menu contextuel, «Dimensions» et «Résolution».

Maintenant, la belle partie.

  • Faites glisser ce nouveau dossier sur le bureau (ou n'importe où) et ouvrez-le.
  • Notez que la ligne d'en-tête modifiée conserve les en-têtes «Dimensions» et «Résolution».
  • Ajoutez des fichiers d'images au dossier et en vue de liste, lisez les informations de dimensions et de résolutions pour tous les fichiers d'images en une seule fois et pas un à la fois avec les différentes méthodes du panneau d'informations.

Parfois, la résolution n'est pas calculée ou disponible et un tiret apparaît dans la colonne. Voir pièce jointe.

Cela fonctionne toujours à partir de macOS Sierra 10.12.6 Je ne sais pas si ce paramètre de dossier persiste lorsque le dossier est déplacé vers un autre compte utilisateur, dossier réseau, etc.

Capture d'écran: dossier en vue liste avec colonnes Dimension et Résolution.

Peter Kleine
la source
-1

Ouvrez l'image en aperçu puis allez dans outils> Afficher l'inspecteur (⌘S). Cela fera apparaître une fenêtre qui affiche les dimensions de l'image avec des pixels comme unité.

marque
la source