Squoosh CLI中--resize选项的[config]配置该如何使用
Squoosh CLI
--resize 参数使用说明 首先要明确:--help 输出里的方括号[]是命令行帮助的通用标记,代表这个参数是可选的,不是让你把配置内容放在方括号里传。--resize 后面直接传JSON格式的配置对象即可,支持的配置项如下:
width:数字类型,缩放后的目标宽度,单位为像素height:数字类型,缩放后的目标高度,单位为像素fit:字符串类型,控制原图宽高比和目标宽高不匹配时的适配逻辑,可选值:contain:默认值,保留原图宽高比缩放,保证图片完整显示在目标宽高范围内,剩余区域留空cover:保留原图宽高比缩放,填满整个目标宽高区域,超出部分直接裁剪fill:强制拉伸图片到目标宽高,不保留原宽高比inside:保留原图宽高比,将图片缩放到「宽和高都不超过目标值」的最大可用尺寸outside:保留原图宽高比,将图片缩放到「宽和高都不小于目标值」的最小可用尺寸
position:仅当fit设为cover时生效,用来指定裁剪的锚点位置,默认值是center,也支持传top、bottom、left、right这类方位关键字,或者传[x,y]格式的相对坐标数组,[0,0]对应左上角、[1,1]对应右下角kernel:字符串类型,指定缩放时用的重采样算法,可选值包括nearest(最近邻,适合像素画)、lanczos3(默认,通用场景效果最好)、mitchell、catmullRom等withoutEnlargement:布尔值,设为true时,如果原图尺寸比你设置的目标宽高更小,就不会执行放大操作,避免图片变糊
实际使用示例
- 把图片缩放到宽度1080px,高度按原比例自适应,小图不放大:
squoosh-cli --resize '{"width":1080, "fit":"contain", "withoutEnlargement":true}' input.jpg -o output.jpg
- 把图片裁剪缩放为800x800px的正方形,居中裁剪:
squoosh-cli --resize '{"width":800, "height":800, "fit":"cover", "position":"center"}' input.png -o output.png
注意:传JSON配置的时候,建议用单引号把整个JSON字符串包裹起来,避免shell环境错误解析JSON里的双引号;如果是Windows CMD环境不识别单引号,可以对JSON内部的双引号做转义处理。
内容的提问来源于stack exchange,提问作者Daniel Dinca
相关产品推荐
相关产品推荐

