Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using sips to create an icns file from a png file

Tags:

shell

macos

sips

I can make a jpeg from a png:

sips -s format jpeg myIcon.png --out myIcon.jpeg

But the same command won't work on icns:

sips -s format icns myIcon.png --out myIcon.icns
# Error: Unable to write image to file ...myIcon.icns

How can I get around this error?

like image 695
Kevin Kostlan Avatar asked Jun 12 '17 18:06

Kevin Kostlan


1 Answers

sips can only convert images into .icns if the initial image file is 256x256, 512x512, and as far as I've been able to verify, 1024x1024. You would have to first resize your image to one of these sizes, and then use the format option to convert the image to a .icns. The code below does this.

First, resize the image to one of the resolutions above:

sips -z 256 256 myIcon.png --out myIconResized.png

OR

sips -z 512 512 myIcon.png --out myIconResized.png

OR

sips -z 1024 1024 myIcon.png --out myIconResized.png

Second, convert the resized image file to a .icns file.

sips -s format icns myIconResized.png --out myIcon.icns

Now you have a .icns file from the resized image file.

like image 189
colossatr0n Avatar answered Nov 05 '22 12:11

colossatr0n