纯前端实现 PNG 图片压缩 | UPNG.js

发布网友 发布时间:2024-09-27 18:06

我来回答

1个回答

热心网友 时间:2024-10-12 11:28

在提升图床应用的用户体验时,我注意到存储空间占用问题。为了节省空间,决定在上传和访问图片时添加压缩功能,首先从PNG图片入手,UPNG.js是这个领域的热门选择。

判断图片是否为PNG的关键不在于文件后缀,而是利用PNG文件的特定魔数。PNG的前8个字节固定为16进制的 50 4E 47 0D 0A 1A 0A。使用VS Code的Hex Editor工具可以直观验证这一点。

UPNG.js是一个轻量且高效的PNG和APNG处理库,被 Photopea 图像编辑器广泛采用。要使用它,可以通过npm简单引入。核心功能包括三个,调整压缩参数时需注意,压缩可能对已压缩程度低的图片反效果不明显,大小反而增加。

为了提供更灵活的使用体验,这里提供了一个可配置的封装版本,允许调整压缩后的尺寸和质量。另外,UPNG.js也支持CDN加载,无需通过npm安装。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com