拾映還沒有正式上線,很多細節還在打磨,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 時才作為單獨的檔案載入。

對這些說明有疑問,請寫信到支援頁上的地址。