简介
imagemin-jpegtran-vendor 是一个用于压缩 JPEG 图片的 npm 包,它是 imagemin 的插件之一。该插件使用的是 libjpeg-turbo 库,相较于 imagemin-jpegtran,它能够更快地处理大型的 JPEG 图片,并且能够在处理过程中保留 ICC、EXIF 等元数据。
本文将向您介绍如何使用 imagemin-jpegtran-vendor 来压缩 JPEG 图片。
安装
在首次使用前,您需要先安装 imagemin 和 imagemin-jpegtran-vendor:
npm install --save-dev imagemin imagemin-jpegtran-vendor
压缩图片
命令行使用
要使用 imagemin-jpegtran-vendor 压缩图片,您需要在命令行中输入以下命令:
imagemin input.jpg --plugin=imagemin-jpegtran-vendor --out-dir=output
其中,input.jpg
为待压缩的文件名,--plugin=imagemin-jpegtran-vendor
表示使用 imagemin-jpegtran-vendor 插件,--out-dir=output
表示压缩后的图片存储目录。
在代码中使用
要在代码中使用 imagemin-jpegtran-vendor,您需要先引入它和 imagemin:
const imagemin = require('imagemin'); const jpegtran = require('imagemin-jpegtran-vendor');
之后,您可以使用以下命令压缩图片:
(async () => { const files = await imagemin(['input/*.jpg'], { destination: 'output', plugins: [jpegtran()] }); })();
其中,['input/*.jpg']
表示需要压缩的文件目录,destination: 'output'
表示压缩后的图片存储目录,plugins: [jpegtran()]
表示使用 imagemin-jpegtran-vendor 插件。
配置选项
imagemin-jpegtran-vendor 可以接受以下选项:
progressive
类型:boolean
默认:false
启用渐进式扫描。
arithmetic
类型:boolean
默认:false
启用算术编码。
smooth
类型:number
默认:0
允许在 [1, 100] 的范围内指定平滑值。这将允许在压缩过程中进行抽样并在高频率方向上进行平滑处理。在大多数情况下,最佳平滑值为 0。
示例代码
-- -------------------- ---- ------- ----- -------- - -------------------- ----- -------- - ------------------------------------ ------ -- -- - ----- ----- - ----- ------------------------- - ------------ --------- -------- ----------- ------------ ----- ------- -- --- --- -----
上述示例代码将压缩 input/*.jpg
中的所有图片,并将压缩后的图片存储在 output
目录下,同时启用了渐进式扫描和 50 的平滑值。
总结
使用 imagemin-jpegtran-vendor 可以更加高效地压缩 JPEG 图片,并且能够在图片压缩过程中保留图片元数据。在开发过程中,您可以根据需要选择命令行或代码使用 imagemin-jpegtran-vendor 压缩 JPEG 图片。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600570a781e8991b448e7f50