HEIC 转 JPG
拖入任意数量的 .heic 文件。解码与重新编码都在这台设备上完成,没有任何数据被发送出去。
选项
全部处理在你的浏览器内完成,没有任何文件离开这台设备。
HEIC 是 iPhone 自 iOS 11 起的默认格式。同一张照片,它只用大约一半于 JPEG 的字节数,这也是苹果换过去的原因 —— 代价是兼容性。Chrome 和 Firefox 解不了它,Windows 需要从商店装付费编解码器,不少老软件干脆报文件损坏。转成 JPG 通常不是为了画质,而是为了能打开。
这里用的解码器是编译成 WebAssembly 的 libheif —— 大多数 Linux 看图软件用的也是这个库。它跑在本页的一个 Web Worker 里,一张 1200 万像素的照片耗时几百毫秒,批量运行时界面不会卡住。
有一点值得知道:iPhone 的 HEIC 文件里可以装不止一张图像。实况照片和连拍的帧都存在同一个容器里。这个工具取文件中尺寸最大的那张,在我们测过的文件上它都是全分辨率的静态图 —— 你拿到的是照片本身,不是缩略图或视频帧。
没有任何上传。不存在一个接收你文件的服务器,因为转换是由这个页面里运行的代码完成的。你可以打开浏览器开发者工具切到网络面板,然后跑一批转换 —— 不会看到任何携带图像的请求。页面加载完之后断开网络连接同样可以验证,工具照常工作。
常见问题
- 我的照片会被上传吗?
- 不会。解码和编码都在你的浏览器里用 WebAssembly 完成,没有任何文件、也没有文件的任何片段被传出去。你可以在浏览器开发者工具的网络面板里核实,或者在页面加载完成后断开网络再试。
- 一次能转多少张?
- 工具本身不设上限。实际的天花板是设备内存,因为每张照片都要先解码成原始像素再重新编码。普通笔记本上几百张手机照片很轻松;如果要转几千张,建议分批,别让浏览器同时持有全部数据。
- 转出来的 JPG 和原来的 HEIC 看起来会不一样吗?
- 像素是同一份。变的是容器和压缩方式:HEIC 用的是 HEVC 的帧内编码,JPG 用的是 DCT。在默认质量下,正常观看尺寸看不出差别,但 JPG 是有损格式,文件不会与原始数据逐位相同。文件体积也会明显变大 —— 这就是兼容性的代价。
- 会保留 EXIF 吗 —— 拍摄日期、机型、GPS?
- 目前不会。转换出的 JPG 带的是像素,不带原始的元数据块,因此拍摄日期、相机型号和 GPS 坐标不会保留下来。如果你确实需要保住元数据,在删掉原文件之前应当先知道这一点。
这个转换器是一条完整后期管线的一部分 —— 影调、色彩、镜头校正与批量导出都以同样的方式运行,同样不上传。
打开完整管线