文件和图片怎么压缩:有损、无损和格式选择
广告位(预留,AdSense 审核通过后启用)
发邮件时提示“附件超出限制”,上传表单时提示“文件不能超过某个大小”,手机里照片占满了空间。压缩文件是几乎人人遇到的需求,但很多人只会“右键压缩成 ZIP”,结果图片没有变小,反而浪费时间。本文先讲清压缩的两种类型,再给出图片、文档、视频的实用做法。各平台的大小限制各不相同,请以对应平台的说明为准。
一、有损压缩和无损压缩
- 无损压缩:解压后与原文件逐字节一致。ZIP、7z、PNG 属于这一类。适合文档、代码、需要原样保留的资料。
- 有损压缩:为了更小,丢掉一些人眼和耳朵不太敏感的信息,回不到原样。JPG、MP3、大多数视频格式属于这一类。适合照片、音乐、视频。
有一个重要的结论:已经有损压缩过的文件,再压缩 ZIP 基本没有效果,因为里面几乎没有重复的数据可以省了。把一堆 JPG 或 MP4 打包成 ZIP,通常只是方便传输,而不会明显变小。
二、常见图片格式怎么选
| 格式 | 适合 |
|---|---|
| JPG | 照片,色彩丰富的图 |
| PNG | 截图、文字、图标、需要透明背景 |
| WebP | 网页图片,兼顾照片与透明 |
| GIF | 简单动图,体积通常较大 |
最常见的浪费是:把手机拍的照片或整屏截图存成 PNG。照片用 JPG 或 WebP 往往小得多;而线条、文字清晰的截图用 PNG 更利落,用 JPG 反而边缘会出现杂点。WebP 在多数现代浏览器里可以显示,但一些老软件打不开,发给别人之前要想一想对方怎么用。
三、压缩图片的三个动作,按这个顺序
- 先改尺寸。图片体积和像素数量密切相关。如果图片只用来在网页或聊天里查看,宽度 1600 像素左右通常就够了,原图几千像素是不必要的。这一步效果最明显。
- 再调质量。JPG 导出时有“质量”选项,选中高档位,肉眼看几乎没有区别,文件却能小不少。具体数值请自己对比预览后决定。
- 最后换格式。截图类用 PNG 压缩工具,照片可以试试 WebP。
系统自带的工具就能完成:Windows 的“照片”或“画图”可以调整大小,macOS 的“预览”在“导出”时有质量滑块。喜欢命令行的可以使用 ImageMagick:
magick in.jpg -resize 1600x -quality 80 out.jpg
这条命令把宽度缩到 1600 像素,按质量 80 导出。一次处理一批图片时,先拿两三张试验,满意后再批量处理,并保留原图。
四、文档和压缩包
- Word、PPT:体积大多来自里面的图片。在软件里用“压缩图片”功能,或把图片先按上面的方式处理再插入。
- PDF:扫描件体积大,可以降低扫描分辨率;对外发布需要清晰的合同,不要过度压缩,以免盖章看不清。
- 多个文件:打包成一个 ZIP 方便发送。如果需要分卷,可以用压缩软件的分卷功能。
- 敏感资料:加密压缩包时使用较长的密码,并通过另一个渠道告诉对方,见 密码设置一文。
五、视频压缩一句话
视频体积由分辨率、码率和时长共同决定。命令行里常用的 ffmpeg 示例:
ffmpeg -i in.mp4 -c:v libx264 -crf 28 out.mp4
crf 数值越大,画质越低、文件越小,默认值通常是 23,请在小段视频上试验合适的数值。视频压缩消耗电脑性能,时间较长,不要在重要工作时运行。
六、几个容易混淆的事
- KB 与 KiB:1 KB 在不同场合可能指 1000 字节,也可能指 1024 字节。网盘、操作系统和压缩软件显示的数字会有些差别,不必惊讶。
- Base64 会让体积变大:把图片转成 Base64 文本嵌入网页或 JSON,体积会大约增加三分之一,原因见 Base64 一文,需要转换时可用 Base64 工具。图片适合小图标,不适合大图。
- 压缩后内容是否一致:无损压缩的文件,传输前后可以用 哈希工具 比对,确认没有损坏。
- 二维码图片:过度压缩或缩得太小会导致扫描失败,细节见 二维码一文。
七、一个现实的流程
假设要把 20 张手机照片发给同事:先在系统里批量把宽度缩到合适大小,质量选中高档位;检查几张的清晰度;再打成一个 ZIP,用邮箱或网盘发送。最后留下原图,不要覆盖。这个流程不需要任何额外软件,十分钟就能完成。
八、压缩前的自查
- 这个文件真的需要发原件吗?有时发一页截图或一个分享链接就够了。
- 对方是要“看”还是要“改”?只是查看,PDF 或压缩后的图片就够;需要修改,才发可编辑的原文件。
- 文件里是否含有不想给对方看的内容,比如照片的位置信息、文档里的修订记录和隐藏表格?导出时可以选择清除。