7

我曾使用 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

如果有人可以提供帮助,将不胜感激。

4

2 回答 2

7

将颜色配置文件值从 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 {} \;
于 2017-10-11T20:26:58.397 回答
0
sips -s format jpeg image.png --out image.jpg
sips -z 768 1024 image.jpg --out image-resize.jpg
于 2017-05-19T06:21:11.007 回答