我已经使用sips来调整PNG图像的大小,如下所示。
sips -z 768 1024 image.png——out image-resize.png
效果很好。但是今天我得到了如下所示的错误信息
<CGColor 0x7ffb72e05c40> [<CGColorSpace 0x7ffb72e04e70> (kCGColorSpaceDeviceRGB)] ( 0 0 0 1 )
Error: Unable to render destination image
如果有人能帮忙的话,我将不胜感激。
将颜色配置文件值从RGB 16位更改为8位sRGB以解决此问题。
这可以通过终端中的一个命令完成:
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
然后图像可以按小幅度调整大小。对于批量调整大小,我使用以下命令:
mdfind -0 -onlyin . "kMDItemPixelHeight > 600 || kMDItemPixelWidth > 600" | xargs -0 sips -Z 600
在结束时,这个命令用于减少图像文件的大小:
find . -name '*.png' -exec pngquant --skip-if-larger --ext .png --force {} ; -exec xattr -c {} ;
sips -s format jpeg image.png --out image.jpg
sips -z 768 1024 image.jpg --out image-resize.jpg