WebPより新しいフォーマットとしてAVIF(エーブイアイエフ)があるので、こちらも「squoosh」を元に対応してみました。
圧縮にかかる時間は長めですが、表示には動画再生用のハードウェアがきっとうまくやってくれるので高速なはず。
JavaScript/WebAssemblyでの変換はちょっと遅いとは思いますが、手軽に使えて便利です。
import { AVIF } from "https://code4fukui.github.io/AVIF/AVIF.js"; const bin = await Deno.readFile('./example.avif'); const image = AVIF.decode(bin); console.log(image); const bin2 = AVIF.encode(image); console.log(bin2.length);
JPEGファイルからAVIFに変換する jpg2avif.js も合わせて実装。
WebPの上位互換として使え、普及してきたHDRにも対応しているので、AVIFを標準とするのがいいかも。
links
- そろそろウェッピー(WebP)を標準に? WebP.js
画像形式でPNGやJPEGが入り混じるのが地味に面倒なので、WebPにしてみることを検討します。







Fri Night