Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sips shows Unable to render destination image

Tags:

macos

sips

I had used sips to resize PNG image as below command.

sips -z 768 1024 image.png --out image-resize.png

It works well. But today I got an error message as shown in below

<CGColor 0x7ffb72e05c40> [<CGColorSpace 0x7ffb72e04e70> (kCGColorSpaceDeviceRGB)] ( 0 0 0 1 )
Error: Unable to render destination image

If anyone could help it would be very much appreciated.

like image 637
Daniel Lu Avatar asked Oct 29 '16 06:10

Daniel Lu


1 Answers

Changing color profile value from RGB 16bit to 8bit sRGB fixing this problem.

This can be done by one command in Terminal:

find . -type f -name '*.png' -print0 | while IFS= read -r -d '' file; do sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' "$file" --out "$file"; done

Then images can be resized by sips. For batch resize I use this command:

mdfind -0 -onlyin . "kMDItemPixelHeight > 600 || kMDItemPixelWidth > 600" | xargs -0 sips -Z 600

And at finish, this command for reduce size of image files:

find . -name '*.png' -exec pngquant --skip-if-larger --ext .png --force {} \; -exec xattr -c {} \;
like image 129
Igor Avatar answered Oct 04 '22 07:10

Igor