Has*_*mad 5 javascript image-processing image-compression node.js sharp
我想调整和使用压缩图像sharp中node.js
锐利的jpeg存在单独的压缩,因为webp存在单独的压缩,并且存在单独的压缩png。
WEBP
sharp('a.jpg')
.resize(1000)
.webp({quality: 80})
Run Code Online (Sandbox Code Playgroud)
JPEG格式
sharp('_4_.jpg')
.resize(1000)
.jpeg({quality: 80})
Run Code Online (Sandbox Code Playgroud)
PNG
sharp('_4_.jpg')
.resize(1000)
.png({compressionLevel: 8})
Run Code Online (Sandbox Code Playgroud)
基本上,我想压缩图像并调整大小,而不检查它们的格式。
有什么用sharp吗?
您可以使用方法获取文件格式metadata并为其选择相应的优化方法:
const image = sharp('_4_.jpg')
const meta = await image.metadata()
const { format } = meta
const config = {
jpeg: { quality: 80 },
webp: { quality: 80 },
png: { compressionLevel: 8 },
}
await image[format](config[format])
.resize(1000)
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您希望输出格式与输入格式匹配,您应该查看force选项。
sharp(input)
.jpeg({ progressive: true, force: false })
.png({ progressive: true, force: false })
...
Run Code Online (Sandbox Code Playgroud)
不支持 GIF 输出,所以 GIF 输入会默认变成 PNG 输出。
其他参考:https : //sharp.readthedocs.io/en/v0.17.0/api-output/#jpeg
PNG 也是,但由于它是无损格式,因此默认quality设置为。100默认情况下,JPG 设置为 JPG 80。
通过减少qualityPNG,它将启用palette减少编码中捕获的颜色数量的模式。这将为文件提供良好的尺寸减小。
compression只是 zlib / zip 压缩,还没有发现它有多大作用。
全部在文档中:https ://sharp.pixelplumbing.com/api-output#png
// this will disable loss-less mode, and reduce the colour accuracy to 90%
// it will also enable the palette
sharp('_4_.jpg')
.resize(1000)
.png({quality: 90})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3815 次 |
| 最近记录: |