尺寸与编码实测

一张含小字的配图,缩尺寸和换 JPEG 到底省多少?

如果上传限制是 100 KiB,应该把 PNG 换成 JPEG,还是先缩小?这次把一张带小字、细线、表格和渐变的自有示意图做成五个文件。先看结果,再决定哪种代价可以接受。

这次遇到的实际取舍

原尺寸 PNG 为 273.8 KiB,同尺寸 JPEG 0.82 为 85.6 KiB,已经低于 100 KiB。把图片缩到 960 × 600 后,PNG 仍有 124.4 KiB;缩小不等于一定满足体积限制。这些数值只适用于本次素材。

原图是什么,想保留什么?

原图是本站绘制的界面示意素材,不是其他产品的截图。尺寸为 1440 × 900,包含 16–32 像素的英文、1 像素细线、平涂色块和渐变。我们关心的是小字在最终显示时能否读清,而不只是字节数更小。可以下载 完整原图 PNG ↓,也可以查看可编辑 SVG 源文件。

原始示意图:表格、小字与细线共同组成测试内容
原始示意图:表格、小字与细线共同组成测试内容 · 1440 × 900 · 273.8 KiB

把“缩尺寸”和“换编码”分开测试

  1. 保留原图,先在 1440 × 900 下分别导出 PNG 和 JPEG,JPEG 质量参数设为 0.82。这样能比较不改变像素尺寸时的编码差异。
  2. 另从原图生成 960 × 600:宽高都乘以 2/3,避免只改一边造成形变。分别导出 PNG、JPEG 0.82、JPEG 0.35。
  3. 重新打开每份成品,检查实际宽高和字节数。两个尺寸的文件不能直接用像素差判断画质,因此每份成品都只与自己的导出前画布比较。
  4. 点击下方图片在新页面查看原始文件,按 100% 显示检查底部小字和表格细线。网页缩略图会改变显示倍率,不能单独用来下结论。
本站实际生成的文件;1 KiB = 1024 字节
下载文件像素尺寸文件字节平均 RGB 绝对差
screen-full.png ↓1440 × 900280,3710
screen-full-82.jpg ↓1440 × 90087,6690.7526
screen-small.png ↓960 × 600127,3590
screen-small-82.jpg ↓960 × 60055,1890.9682
screen-small-35.jpg ↓960 × 60030,2632.2151
960 × 600 PNG:作为同尺寸编码对照
960 × 600 PNG:作为同尺寸编码对照 · 960 × 600 · 124.4 KiB
960 × 600 JPEG 0.35:检查文字与色块交界
960 × 600 JPEG 0.35:检查文字与色块交界 · 960 × 600 · 29.6 KiB

怎样选一份用于发布的成品?

本次如果只要求“原尺寸、低于 100 KiB”,同尺寸 JPEG 0.82 满足体积条件,但仍需接受小字边缘的有损变化。如果平台只显示 960 像素宽,960 × 600 JPEG 0.82 可再减少体积。若要让读者放大核对细字,保留较大的 PNG 下载版本比一味压缩更合适。

0.35 的 JPEG 在本例中比 0.82 更小,平均颜色变化也更大。但不能把“变化更大”直接解释为所有区域都更难读,更不能把一次结果推成“截图必须用 PNG”。读者实际阅读的字、线和数值,才是最终检查对象。

看到文件变大,先查这三件事

  • 原文件可能已经压缩得很好。重新转 PNG 或高质量 JPEG,可能反而更大。
  • 不要只修改文件扩展名。需要真正重新编码,并重新打开成品确认格式。
  • “质量 82”不是“保留 82% 细节”,也不保证所有照片或截图得到相同压缩比。

你可以在尺寸与格式工具里加载这张原图,先保留 1440 × 900 选择 JPEG 82,再尝试 960 × 600;工具显示每次实际生成的字节数。输入变化后需要重新生成,不会把旧结果当作新参数的成品。

这组数据怎样得到?

2026 年 11 月 5 日,本站在 Windows 的 Chromium 156 浏览器中,用 Canvas 2D 绘制自有 SVG,再通过 canvas.toBlob() 导出。JPEG 的 0.82、0.35 是浏览器编码参数,不是通用画质分数;不同浏览器和版本可能生成不同字节数。所有文件均可下载,完整测量记录包含尺寸、文件体积和生成环境。

平均 RGB 绝对差的计算方式为:把编码文件重新解码,与相同尺寸、相同背景的导出前画布逐像素比较三个颜色通道,求绝对差平均值,取值范围为 0–255。它仅描述本组文件的编码变化,不代表视觉质量分数,也不能证明缩小图片没有损失信息。透明像素的不可见 RGB 不适合与不透明底图作直接质量比较。

下一步:阅读PNG 与 JPEG 的用途选择,或检查下一篇的透明背景问题。