DEV Community · Show DEV8/6 18:4652 分
将libjxl编译为WASM,让浏览器打开JPEG XL文件
Compiling libjxl to WASM so browsers can open JPEG XL files
JPEG XL格式在浏览器支持上处境尴尬:Chrome曾于2021年以标志支持,2022年移除;Firefox仅Nightly版本支持;Safari支持。因此,用户可能遇到.jxl文件无法打开的问题。作者希望构建一个完全在浏览器中运行的查看器,无需上传文件,因此解码器必须为WASM。起初使用@jsquash/jxl,但发现其在大分辨率(超过12-16百万像素)时崩溃,且速度慢(12MP图像需21秒)。于是作者自行编译libjxl,使用Emscripten和CMake配置,禁用线程、测试等,启用内存增长和文件系统,最终成功构建cjxl工具。