← 返回博客

Windows 无损压缩图片:什么是“已验证无损”

了解 Windows 上已验证的无损图片压缩:GIF 体积缩小 92%、PNG 精确副本回退、截图,以及 LocalFlux 1.0.7 的实测证据。

作者 LocalFlux Editorial Team

图像 解析
LocalFlux 显示一个已验证无损且体积缩小 92% 的 GIF 结果
本页内容
  1. 简短答案
  2. “已验证无损”是什么意思
  3. LocalFlux 按格式验证的内容
  4. 保护隐私的测试设置
  5. 第 1 步:添加受支持的图片
  6. 第 2 步:选择 Lossless
  7. 第 3 步:在本地运行优化
  8. 结果 1:真正变小且已验证的文件
  9. 结果 2:精确副本回退
  10. 为什么一些看起来低效的文件仍会变成精确副本
  11. 无损、预设与目标大小的区别
  12. 可以批量进行已验证的无损优化吗?
  13. 查看证据
  14. 常见问题
  15. 实用检查清单
  16. 结果

如果你想在不改变图片内容的情况下减小体积,难点并不是选择一个名为 Lossless 的设置。难点在于证明新文件仍然表示相同的内容,并确定软件在无法证明这一点时应该怎么做。

LocalFlux 1.0.7 通过一种“验证不通过则保留原始字节”的流程处理这种不确定性。它先在本地创建优化候选文件,再检查格式特定的内容和元数据不变量;只有这些检查通过,才会发布修改后的候选文件。如果候选文件无法验证,或体积没有变小,LocalFlux 会将源文件精确复制到一个新的 _optimized 文件名下。

精确复制也要求源文件可读、目标位置可写。解码、验证或写入错误仍可能导致任务失败,请先检查每个文件的状态。

我使用存放在 C:\tmp 下的合成文件测试了这两个分支:

这些例子说明了这个标签的本意:LocalFlux 不会把“转换完成”等同于“结果无损”,也不会承诺每个输入文件都会变小。

实测示例,不代表普遍节省: 无损优化取决于源格式、容器结构、元数据、之前的编码方式,以及图片或动画内容。有效结果可能大幅变小、略微变小,也可能在没有任何体积减少的情况下成为精确副本。

在 LocalFlux 中试用已验证的无损图片优化

简短答案

要在不刻意改变内容的情况下优化受支持的图片:

  1. 打开 LocalFlux,选择 压缩。
  2. 添加一个或多个受支持的 JPEG、TIFF、静态 PNG 或 WebP、GIF、APNG 或 SVG 文件。
  3. 打开 选项,选择 Lossless。
  4. 选择 优化。
  5. 查看每个结果,确认显示 无损验证,并且体积有所减少,或显示 已优化。

LocalFlux 会创建一个文件名中带 _optimized 的新文件。源文件会保留原位。处理在 Windows 电脑上运行;文件不会上传到在线转换服务。

LocalFlux 显示 C:\tmp 下的两个合成文件,并选中了 Lossless 策略。

界面截图于2026年10月使用根据已记录的 LocalFlux 1.0.10.0 发布源码重新构建的版本拍摄。下方历史测量值和下载资料仍保留原始测试范围。截图记录: 1

2026年10月复核:10种界面语言共生成20个输出,均与历史 GIF、PNG 输出逐字节一致。GIF 含12帧,每帧100 ms,渲染结果及循环设置一致;GIF 延迟值10表示10/100秒。界面的 KB 数值使用1024字节单位(KiB)。这些结果仅验证两个合成样本,不代表验证了所有格式或元数据字段。 2026-10

新截图中的选项卡仍显示英文:Lossless(无损)、Preset(预设)、Target size(目标大小)。

“已验证无损”是什么意思

“无损”常被用来描述编码器设置;“已验证无损”则描述了一份更严格的结果契约。

在 LocalFlux 的这一流程中,修改后的候选文件必须满足三个条件:

  1. 受支持的内容检查通过。 根据格式不同,这可能包括解码后的像素、动画的每个渲染帧、每个 TIFF 页面、时序、尺寸或几何信息。
  2. 受支持的内嵌元数据检查通过。 具体字段因容器而异。LocalFlux 会比较它为该路径承诺保留的元数据,而不是假设成功编码就保留了全部元数据。
  3. 候选文件确实更小。 如果已验证的候选文件没有节省字节数,替换源文件表示方式就没有实际优化价值。

只要有一个条件不满足,修改后的候选文件就不会作为优化结果发布。LocalFlux 会把源文件字节恢复到新的输出路径,并报告 已优化。

最后这一点很重要。工具很容易生成一个不同但在快速预览中看起来相同的文件。要证明差异在像素、页面、帧、时序和元数据层面都没有问题,则要困难得多。当证据不完整时,LocalFlux 的策略选择保守结果。

LocalFlux 按格式验证的内容

不同图片容器需要不同的不变量。单纯“比较宽度和高度”的规则会遗漏太多内容。

格式LocalFlux 1.0.7 的验证重点重要的回退行为
JPEG解码像素签名,以及原始 APP 和 COM 元数据段编码表优化可能在某些输入上改变解码值,因此无法证明等价时会回退为精确副本。
静态 PNG解码像素签名,以及受支持的颜色、EXIF、XMP、文本和物理元数据块最终比较前会保留必需的辅助元数据;无法验证的候选文件会被丢弃。
静态 WebP解码像素签名,以及受支持的内嵌元数据块只有内容和元数据比较通过且文件更小时,才会发布候选文件。
TIFF每个解码页面、像素签名、页面几何信息和受支持的元数据包含已验证像素存储集合以外标签的 TIFF 会原样复制,而不会冒险造成标签静默丢失。
GIF每个合并后的渲染帧、帧延迟、循环次数,以及保留的注释/应用程序/纯文本扩展只有渲染动画和受支持扩展仍然等价时,才接受帧优化。
APNG规范化的逐帧哈希、时序、帧数、循环次数,以及保留的 PNG 辅助元数据任何不匹配或无法验证的结果都会触发精确源文件回退。
SVG源文件字节本身Lossless 模式下 SVG 会逐字节复制。只有在接受保守移除注释和仅供编辑器使用的数据时,才使用单独的 Safe vector optimization 预设。

因此,也不应把 已验证 延伸解释为:每种文件格式中所有可想象的属性都已经在数学上证明等价。它指的是 LocalFlux 1.0.7 针对其受支持路径检查的明确内容和元数据不变量。

保护隐私的测试设置

测试使用 Windows 上实际运行的 LocalFlux 1.0.7.0 Microsoft Store 应用。没有使用个人照片、客户文件、用户名或项目文件夹。原始1.0.7测试使用下列文件夹;新截图使用 C:\tmp\LocalFluxBlogRefresh:

C:\tmp\LocalFlux-lossless-proof-v107\input

两个证据案例由合成的仪表盘图稿创建:

案例输入用途
可缩减动画dashboard-animation-repeated-frames.gif十二个相同的全尺寸帧刻意制造帧存储冗余,让已验证的动画优化器可以移除这些冗余。
已优化对照组already-optimized-icon.png使用紧凑 PNG 测试无节省和精确副本分支。

GIF 是刻意制作的人工文件。它很有用,因为预期内容没有歧义:12 帧,每帧都是相同的 1920 × 1080 渲染图像,并且每帧延迟值都是 10。它测试的是验证契约,而不是假装代表典型的动画压缩比例。

第 1 步:添加受支持的图片

打开 LocalFlux,选择 压缩,然后选择 添加文件,或将文件拖入队列。

1.0.7 的 Lossless 模式支持 JPEG、TIFF、静态 PNG 和 WebP 图片、GIF 和 APNG 动画,以及 SVG 文件。PNG 和 WebP 之所以强调静态,是因为动画内容需要具备动画意识的验证。APNG 和 GIF 也有各自受支持的路径。

你可以一次将多个兼容文件加入队列。LocalFlux 会在 压缩模式中保留每个文件的格式:PNG 仍为 PNG,GIF 仍为 GIF,依此类推。这不同于 转换模式,后者会为当前批次选择一种输出格式。

开始前,确认队列中是预期文件,并确认左下角模式显示 压缩。

第 2 步:选择 Lossless

打开 选项,选择 Lossless 标签页。

界面会直接说明这一契约:只有在内容和内嵌元数据验证通过后,才会优化受支持文件;不受支持的文件会被跳过。操作按钮会从 压缩 变为 优化。

本次测试不要启用 安全共享。安全共享 是另一种流程,目的是从交付副本中移除私密元数据。Lossless 优化则尝试保留受支持的内嵌元数据。这两个目标是有意区分的:

第 3 步:在本地运行优化

选择 优化,等待队列完成。当输出摘要显示 输出:与源文件相同 时,LocalFlux 会将输出写在源文件旁边。

例如:

原始文件名仍然存在,因此可以进行比较;但这不能替代为重要工作保留适当的备份。

处理路径是本地的。安装、Microsoft Store 授权或更新仍可能涉及联网,但在此操作中源文件不会发送到远程转换服务器。

结果 1:真正变小且已验证的文件

12 帧 GIF 产生了明显的缩减案例:

测量项源文件LocalFlux 输出
精确大小658,785 bytes54,329 bytes
显示大小643.3 KB53.1 KB
帧数1212
尺寸1920 × 10801920 × 1080
每帧延迟序列100 ms × 12100 ms × 12
节省字节数不适用604,456 bytes
缩减比例不适用91.8%

LocalFlux 显示一个体积缩小 92% 的已验证 GIF 结果,且只显示了 C:\tmp 目标路径。

源文件和输出文件的 SHA-256 哈希不同,这是容器表示发生变化时的预期结果:

不同的哈希并不与无损验证矛盾,它们证明文件字节发生了变化。相关问题是解码后的动画和受支持的元数据是否仍然等价。LocalFlux 报告内容和内嵌元数据得到保留;单独的渲染帧比较也发现前后帧签名相同。

为什么缩减幅度如此之大?源文件刻意存储了 12 个完整的重复帧。优化后的 GIF 可以更高效地表示这种重复。真实动画如果每一帧的大部分区域都在运动,节省的体积可能小得多。

结果 2:精确副本回退

8,290 字节的 PNG 没有产生任何通过契约检查且更小的候选文件。LocalFlux 报告:

无损验证 · 8.1 KB → 8.1 KB · 已优化

结果并不是因为显示单位四舍五入后恰好相同。两个文件都精确地是 8,290 字节,并且都有以下 SHA-256 哈希:

F287BBCE8EB98A9F19416DCE1A74A759F3AC8DDA69ADB338022CB1B8F90BD937

匹配的哈希证明输出是输入的逐字节副本。LocalFlux 仍会创建 _optimized 输出,这样批处理就能以可预测的目标路径完成,但它不会声称存在并不存在的节省。

“已优化”可能表示编码器找不到更小的候选文件,也可能表示修改后的候选文件无法满足验证契约。从用户角度看,安全结果相同:源文件字节成为输出文件字节。

为什么一些看起来低效的文件仍会变成精确副本

文件看起来低效,并不意味着它一定能产生可发布的已验证候选文件。体积本身并不够。

例如,重新编码器可能会:

传统优化器可能接受其中一些取舍。经验证的无损 模式不会。它宁可使用精确副本,也不会发布未经证明的修改。

这也解释了为什么 JPEG 经常进入回退分支。JPEG 通常与有损编码相关。LocalFlux 的无损尝试会聚焦于编码表优化,同时要求解码像素签名和原始 APP/COM 元数据保持等价。如果捆绑的编码器改变了解码值,即使在正常缩放下看起来完全一样,候选文件也会被拒绝。

无损、预设与目标大小的区别

LocalFlux 提供三种不同的压缩意图。不要把它们当作“让文件变小”的同义标签。

策略主要目标图片内容是否可能有意改变?是否保证结果更小?
Preset平衡视觉质量和体积是,取决于格式和预设否
Target size尝试低于选定的字节数上限是;质量,有时还有尺寸,可能会在策略允许范围内降低否。目标可能无法实现
Lossless保留已验证的内容和受支持的元数据除非验证通过,否则不会发布修改后的候选文件否。精确副本回退是有效结果

当你可以接受小幅且可控的视觉取舍时,用预设制作网站交付副本。需要满足上传表单或附件大小上限时,用目标大小。保留已验证的内容契约比最大化缩减更重要时,用 Lossless。

可以批量进行已验证的无损优化吗?

可以。第一张截图展示了队列中混合的两个受支持文件。同一策略会应用于兼容的待处理项目,同时每个文件保留当前格式。

批处理的价值不在于每个项目都得到相同的缩减比例,而在于每个项目都采用相同的决策政策:

  1. 尝试适用于该格式的优化;
  2. 验证受支持的不变量;
  3. 只有更小时才保留修改后的候选文件;以及
  4. 否则发布精确副本。

之后查看每个文件的行。一批结果中完全可以同时出现大幅缩减、小幅缩减,以及多个已优化副本。

查看证据

本文的发布材料包含合成输入、LocalFlux 输出、精确测量值,以及文章使用的哈希:

所有可见路径和文件名都是合成的。截图已经过审查,排除了用户名、账户详情、个人文件夹、客户名称和其他可识别信息。

常见问题

已验证无损是否意味着每个文件都会变小?

不是。它表示 LocalFlux 只有在受支持的内容和元数据检查通过后,才会发布修改后的候选文件。如果候选文件没有变小,或无法验证,输出就是精确副本。

为什么无损结果的哈希可能不同?

无损描述的是解码内容和受支持的不变量,而不是完全相同的容器字节。成功的优化器可以在不改变解码像素或帧的情况下重新组织压缩数据。相反,精确副本回退具有相同哈希,因为每个字节都相同。

显示“已优化”是失败吗?

不是。任务已安全完成。这只表示没有找到值得发布的、更小且已验证的表示形式。

原文件会被覆盖吗?

在本次测试的流程中不会。LocalFlux 会创建同目录下带 _optimized 的文件。无论如何,对于无法替代的源文件都应保留备份。

Lossless 模式会移除 EXIF 或位置元数据吗?

它的目标是保留,而不是清理。想要创建并验证一个移除私密元数据的副本时,请使用 安全共享。始终检查你实际准备分享的确切文件。

这个流程完全离线吗?

受支持的优化在电脑上运行,不会将源文件上传到转换服务器。通过 Windows 或 Microsoft Store 进行的安装、授权和更新仍可能使用网络。

支持哪些格式?

LocalFlux 1.0.7 支持对 JPEG、TIFF、静态 PNG 和 WebP、GIF、APNG 以及 SVG 进行已验证的无损优化。不受支持的项目不会被静默地当作已验证项目处理。

实用检查清单

优化前:

优化后:

结果

已验证的无损优化之所以有价值,是因为它让不确定性变得可见。在这次 LocalFlux 1.0.7 测试中,一个合成 GIF 在保留已验证动画不变量的同时缩小了 91.8%。一个已经高效的 PNG 则节省 0%,转而生成逐字节完全相同的精确副本。

两者都是成功结果。前者移除了冗余存储,后者拒绝未经证明或没有意义的重写。它们共同展示了一个比“每张图片都会变小”更有用的承诺:只有在受支持的内容和元数据检查通过时,才会发布修改后的文件;检查不通过时,精确源文件就是回退结果。

使用 LocalFlux 在本地优化图片

技术参考资料

有关文件格式的说明参考了以下独立规范和平台文档。