web-dev-qa-db-ja.com

MacでPNGのピクセル寸法を取得しますか?

ランダム.PNG私のMac上のファイル。実際に私はそれらの約100を持っています。ピクセル寸法を取得する最も簡単な方法は何ですか? (つまり、幅100ピクセル、高さ50ピクセルなど)。

20

ターミナルでは、以下を使用できます。

_$ 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)

結果:

enter image description here


または、Spotlightメタデータを読み取ることもできます。

_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
[...]
_

または、findsipsを使用することもできます。

_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
_

enter image description here


スクリプトを簡単に拡張して、一度に複数のファイルの寸法を表示することができます。特定のディレクトリにあるすべてのpngファイル。出力はFinderダイアログなので、Automatorサービスに埋め込むことができます。

Automatorを開き、選択してServiceを作成しますimage filesany applicationの入力として受け取ります。

入力を受け取るシェルスクリプトの実行アクションを追加引数としてを入力して、次のように入力します。

_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
_

名前を付けて保存画像のサイズを表示。 Finderでいくつかの画像ファイルを選択し、ファイルの1つでFinder"Services"Show Image Dimensionsまたは_Right-click_を選択し、[Services"] Image Dimensionsを選択します。

enter image description here

enter image description here

35
Daniel Beck

Finderウィンドウでファイルを検索し、次のいずれかを行います。

  • ファイルをハイライトして押します ⌘ Cmd⌥ OptionI、または

  • ファイルをコントロールクリックし、押し続けます ⌥ Option 「インスペクタを表示」を選択できます。

これにより、「情報を見る」ウィンドウに似たインスペクターが開きますが、ファイルを選択するたびに更新されます。

次に、インスペクターの[詳細]セクションを展開します。他のデータの中でも、PNGのサイズと色深度を確認できます。新しいファイルを選択して、インスペクターでその寸法を確認します。

An inspector window showing the highlighted file in a Finder window

8

これは古い質問ですが、現在の読者にとっては、すぐに利用できるソリューションがあります。ヨセミテでは、Finderの「プレビュー列を表示」をオンにすることができます。 Finder>表示>表示オプションを表示

こちらがスクリーンショットです。

screenshot

4
Sergi

最も簡単な方法。 Safariで画像を開きます。

すべての画像を選択します。次に使用します Ctrl+コンテキストメニューをクリックして、[アプリケーションから開く> Safari]を選択します。

オプションで、Safariメニューウィンドウ>すべてのウィンドウをマージを使用して、開いているすべてのSafariメニューを別々のタブにマージできます。

Safariウィンドウの上部に画像のサイズが表示されます。 enter image description here

ここでは、Finderを使用して、フォルダのリストビューに個別の「ディメンション」列と「解像度」列を追加する方法を示します。

  • ピクチャフォルダを開きます。 /ユーザー/〜/写真
  • 開いているピクチャフォルダ内に新しいフォルダを作成します。 他の場所からドラッグしないでください。
  • この新しいフォルダーのリストビューで、列ヘッダー行を右/ optionキーを押しながらクリックします。
  • コンテキストメニューの下部にある[寸法]と[解像度]の両方のオプションを確認します。

いい部分です。

  • この新しいフォルダをデスクトップ(または任意の場所)にドラッグして開きます。
  • 変更されたヘッダー行には、ヘッダー「ディメンション」と「解像度」が保持されていることに注意してください。
  • フォルダに画像ファイルを追加し、リストビューで、さまざまな情報パネルのメソッドを使用して、一度に1つではなくすべての画像ファイルの寸法と解像度の情報を一度に読み取ります。

解像度が計算されないか利用できない場合があり、ダッシュが列に表示されます。添付ファイルを参照してください。

これはまだmacOS Sierra 10.12.6でも機能します。フォルダーを別のユーザーアカウント、ネットワークフォルダーなどに移動したときに、このフォルダー設定が保持されるかどうかはわかりません。

スクリーンショット:ディメンションと解像度の列を含むリストビュー内のフォルダー。

0
Peter Kleine