LeanImg

为什么 Windows 无法打开我的 iPhone HEIC 照片?

Windows 需要两个独立的 Microsoft Store 组件来读取 .heic 文件。以下是每个组件的功能,以及如何在没有它们的情况下在浏览器标签中转换为 JPG。

将一文件夹的 iPhone 照片复制到 Windows PC 上,其中一半的文件表现得像是损坏的文件。照片应用程序抛出错误,文件资源管理器没有缩略图。图片本身没有问题。Windows 默认不带 HEVC 解码器,而 HEVC 是自 iOS 11 以来每个 .heic 文件中使用的编解码器,该格式在 2017 年成为相机的默认格式。

有两种解决方法。您可以安装 Microsoft Store 组件,让 Windows 学会读取 HEIC,如果您打算在本地继续处理这些文件,这样做是值得的。您还可以在浏览器标签中将照片转换为 JPG,完全不需要安装。我们构建了第二个选项:我们的转换器携带一个编译为 WebAssembly 的 HEIF 解码器,因此即使没有 Chromium 构建原生渲染 HEIC,Windows 上的 Chrome 和 Edge 也可以读取该文件。

为什么 Windows 无法打开我的 iPhone 照片?

HEIC 是一个 HEIF 容器,由 MPEG 标准化为 ISO/IEC 23008-12,开头的四个字节声明内部使用的编解码器。heic 品牌意味着 HEVC。将这四个字节更改为 av01,相同的容器就变成了 AVIF,这就是为什么其中一个可以在每个浏览器中播放,而另一个几乎只存在于 Apple 的生态系统中。Windows 默认没有 HEVC 解码器,因此照片、画图和文件资源管理器缩略图在同一文件上都因同样的原因失败。Firefox 在任何平台上也无法渲染 HEIC。Safari 17 可以。

两个细节让人惊讶。HEIC 通过辅助图像携带 8 位 alpha,因此并不总是不透明。它还将旋转和裁剪存储为指令,保持像素不变,这就是为什么转换后的照片有时在忽略这些指令的软件中横着显示。MDN 的图像格式指南 是关于哪个容器携带哪个编解码器的最清晰概述。

我需要哪两个 Microsoft Store 组件?

大多数人在这里停止。免费的 HEIF 图像扩展 包打开容器,这是每个论坛线程都告诉您安装的组件。单独使用它不会得到图片。HEVC 视频扩展 解码实际像素,它是一个单独的 Store 列表,Microsoft 收取费用以覆盖其自己的 HEVC 版权费。单独安装免费的组件,您仍然会得到您开始时的灰色框,这是让人感觉这是 Windows 错误的唯一原因,实际上这只是一个许可安排。

AVIF 在您的 PC 上有相同的问题,但解决方法不同。它需要 AV1 视频扩展,而仅有 HEIF 包无法覆盖它。caniuse 跟踪了浏览器方面的情况,自 2024 年 1 月 Edge 支持 AVIF 以来,这个问题已经解决。

如何在 Windows 上不安装任何东西将 HEIC 转换为 JPG?

打开 heic-to-jpg 并将文件拖入。转换器在 WebAssembly 中解析 HEIF 容器,使用与 Linux 发行版提供的相同 libheif 血统的构建,因此是否安装了 Store 组件对结果没有影响。批处理限制为 10 个文件和 50 MB。JPEG 默认以质量 85 输出,HEIC 携带的任何透明度都合成到白色上,因为 JPEG 在任何模式下都没有 alpha。

HEIC 在这里仅限解码。您可以将其转换为 JPG、PNGWebP,工具集中没有任何内容可以将 .heic 写回。这是我们在 11 种格式中提供的 24 对转换中的三对。

我应该转换为 JPG、PNG 还是 WebP?

JPG 适用于必须在其他机器上打开的任何内容。如果照片要用于网站,则使用 WebP。PNG 保持无损,这使其成为编辑的正确中间格式,但不适合通过电子邮件发送,而 哪些图片属于这两种格式中的哪一种 是更长的答案。文件大小比格式名称所暗示的更不可预测。以下是一个 3840x2160 的源 JPEG,538.6 KB,经过我们的压缩器以匹配滑块值:

相同的源文件,相同的滑块位置。AVIF 在其智能默认值 63 下生成了三者中最小的文件。
格式滑块 80滑块 63编码速度
JPEG286.1 KB未运行瞬时
WebP290.3 KB200.6 KB瞬时
AVIF312.7 KB186.9 KB大约 10 到 11 秒

该表格看起来是反向的,直到您知道原因。JPEG 的滑块根据源文件自身的估计质量进行重新缩放,从其量化表中读取,因此一个 60 质量的源在滑块 80 下请求时,实际上是在以 48 进行编码。WebP 和 AVIF 则字面上理解这个数字。AVIF 在字节上获胜,但在时间上表现不佳,这对于网络资产来说是公平的交易,但对于 200 张假期照片来说则不太合适。

为什么 JPG 比我开始时的 HEIC 更大?

HEVC 内部编码在这方面比 JPEG 更优秀,匹配质量大约只需一半的字节,因此转换时文件增大是预期的。增长是正常的。将 JPG 通过 压缩器 处理后,您会恢复大部分:智能模式将 538.6 KB 的 texture.jpg 压缩到 286.1 KB,减少了 47%,没有调整任何设置。在同一文件上将滑块拖到 30 得到了 131 KB,减少了 76%,这对于群聊来说是可以接受的,但在 27 英寸的显示器上看起来明显粗糙。

压缩器结果面板显示 538.6 KB 的 JPEG 在智能模式下减少到 286.1 KB
3840x2160 JPEG 的智能模式:输入 538.6 KB,输出 286.1 KB,减少 47%,没有更改设置。

为什么我拖入照片时没有任何反应?

将文件拖放到框中会保留浏览器报告为 image/* 的文件,而一个从未被教会关于 .heic 的 Windows 安装可能会为其提供一个空类型。请使用选择器。单击拖放区域会打开正常的文件对话框,该路径不会应用任何类型过滤器,因此 Windows 无法分类的文件仍然可以通过。如果您拖入 11 个文件或 60 MB,错误会在一秒内告诉您。

在计划批处理时,请注意每个工具的限制。转换器、压缩器和 调整大小工具 每次运行都接受 10 个文件和 50 MB。裁剪工具图标生成器 每次只接受一个文件,最大 10 MB,因为两者都不适合批量处理。

是否有任何内容被上传?

没有。此应用没有 API 路由和服务器操作,每个网络请求都是同源资产,解码器和编码器的 WebAssembly 包也在其中。您的照片由标签中的 JavaScript 读取,不会传到其他地方。您找到的其他 HEIC 转换器则工作方式相反:文件会传输到服务器,在那里解码,并承诺在一到两个小时内删除它以覆盖其余部分。对于仍在 EXIF 中保留 GPS 坐标的相机胶卷,这种区别是有意义的。我们的 隐私页面 列出了我们收集的内容,即页面分析和关于您图像的任何信息。

接下来:打开 heic-to-jpg,将前十张照片发送过去,然后将 JPG 直接拖入 压缩器,再附加到任何内容上。如果您要发送整个相机胶卷,调整大小后再压缩的顺序可以使批处理符合 Gmail 的限制 是下一个要阅读的内容。两个浏览器标签,无需 Store 购买。