On a Mac OS X system, you can use the
filecommand to determine the width and height of an image in pixels.
$ file example.png example.png: PNG image data, 69 x 91, 8-bit/color RGBA, non-interlaced
You can also use the
sips command with the
parameter followed by
$ sips -g pixelWidth example.png /Users/jdoe/Documents/example.png pixelWidth: 69 $ sips -g pixelHeight example.png /Users/jdoe/Documents/example.png pixelHeight: 91
Make sure you capitalize those as shown above; if you don't and use
PixelHeight, i.e., you use an uppercase
"P" rather than a lowercase "p", the result will be "<nil>".
$ sips -g PixelWidth example.png /Users/jdoe/Documents/example.png PixelWidth: <nil>
If you only want to see the number, you can pipe the output of the
command to the
tail command, instructing that command to
show only the last line of output, and then pipe the output of the tail
command to the
cut command, instructing that command to use
the colon as the delimiter for separating items on the line and to show
just the second field, which will be the number preceded by a space:
$ sips -g pixelWidth example.png | tail -n1 | cut -d":" -f2 69 $ sips -g pixelHeight example.png | tail -n1 | cut -d":" -f2 91
Or you can omit the
tail command and just use
cut by adding the
-s argument to that command
to suppress lines with no field delimiter character, i.e., lines with
no colon in this case, assuming there will be none on the first line of
output from the
$ sips -g pixelWidth example.png | cut -d":" -f2 -s 69 $ sips -g pixelHeight example.png | cut -d":" -f2 -s 91
If you don't want the space preceding the number, you can use a space character
as the delimiter and specify
f4 rather than
there are two spaces output before "pixel" on the second line of ouput and a
third one after the colon.
$ sips -g pixelWidth example.png | cut -d" " -f4 -s 69
If you wished to put that in a window that will be displayed to the user, you can use AppleScript.
set h to do shell script "sips -g pixelHeight /Users/jdoe/Documents/example.png | cut -d':' -f2 -s"
display alert "Width:" & (w as text) & "
Height:" & (h as text)
Hit Enter after the double quote at the end of the second-to-last line to have a newline character appear in the ouput after the line with the width is displayed so that the height appears on a separate line. The ouput will be as shown below: