拾映还没有正式上线,很多细节还在打磨,App Store 上暂时找不到。 上架时通知我 看看拾映的细节 →

网页工具用到的开源库

简单说

网页工具用了十个开源库:libheif-js、exifr、piexifjs、mp4box、mp4-muxer、@jsquash/webp、@jsquash/avif、UTIF.js、gifenc、UPNG.js。libheif-js 本身是 LGPL-3.0,内含同样是 LGPL-3.0 的 libheif 和 libde265。HEIC 工具需要时才把它作为单独的文件加载。图片格式转换只在你选了 WebP、AVIF、TIFF、GIF 时才加载对应的写出库;图片压缩只在压 PNG 时才加载 UPNG.js。

最后更新:

工具里的库

库版本许可证用途
libheif-js1.23.5LGPL-3.0(见下)HEIC 转 JPG、PNG
exifr(lite 版)7.1.3MIT读取照片信息
piexifjs1.0.6MIT写入照片信息
mp4box2.5.0BSD-3-Clause读取 MP4、MOV
mp4-muxer5.2.2MIT写出 MP4
@jsquash/webp1.5.0Apache-2.0(内含 libwebp,BSD-3-Clause)写出 WebP
@jsquash/avif2.1.1Apache-2.0(内含 libavif,BSD-2-Clause)读取、写出 AVIF
UTIF.js3.1.0MIT(用到 pako,MIT 和 Zlib)读取、写出 TIFF
gifenc1.0.3MIT写出 GIF
UPNG.js2.1.0MIT(用到 pako,MIT 和 Zlib)把 PNG 文件变小

libheif 和 libde265 的 LGPL-3.0 说明

libheif-js 按 LGPL-3.0 发布,它的文件里编译进了 libheif 和 libde265,这两个库的许可证同样是 GNU 宽通用公共许可证第 3 版(LGPL-3.0)。许可证全文见 gnu.org/licenses/lgpl-3.0。

  • 源码: libheif 和 libde265 的源码在上面两个链接;libheif-js 的源码在表格里的 libheif-js 链接。
  • 加载方式: HEIC 工具按需把 libheif-js 作为单独的脚本文件加载,只在浏览器自己解不了 HEIC 时才加载。
  • 自己的构建: libheif-js 和 libheif 都是开源的。想用自己编译的 libheif,可以用你的 libheif 版本从源码构建 libheif-js(或任何兼容的解码器)。

图片格式转换用到的库

图片格式转换用 jSquash 的两个包(Apache-2.0)写出 WebP 和 AVIF,它们里面编译进了 libwebp(BSD-3-Clause)以及 libavif 和 AV1 编解码器 libaom(BSD-2-Clause)。TIFF 的读写用 UTIF.js,GIF 的写出用 gifenc(都是 MIT)。这些库都是在你选了对应格式时才作为单独的文件加载,没有一个是 GPL。

图片压缩和图片格式转换用同一份代码,另外用 UPNG.js(MIT,用到 pako)把 PNG 文件变小。UPNG.js 只在压 PNG 时才作为单独的文件加载。

对这些说明有疑问,请写信到支持页上的地址。