LeanImg

如何压缩一批照片以便通过电子邮件发送?

通过先调整大小再压缩,将一批照片控制在 Gmail 的 25 MB 限制内,使用我们自己的工具测量前后的大小。

Gmail 每条消息限制为 25 MB。直接从相机获取的照片文件夹会轻易超过这个限制,通常的做法是附上四张照片,然后放弃其余的。其实有更好的操作顺序。先调整照片的大小,再进行压缩,原本无法发送的照片集变成了有余地的可发送集。

这两个步骤都在您的浏览器标签页内运行。LeanImg 没有 API 路径和服务器操作,因此您的照片不会到达承诺在一小时内删除它们的服务器。这个领域的每个竞争对手都首先上传。这一差异正是我们构建这些工具的原因,您可以在大约十秒内通过打开开发者工具自行检查。

电子邮件附件的实际大小限制是多少?

Gmail 的上限是 每条消息 25 MB,超过这个限制,Google 会移除附件并插入 Google Drive 链接。微软的情况不同:Exchange Online 默认发送限制为 35 MB,接收限制为 36 MB,管理员可以设置从 1 MB 到 150 MB 的任意值,而 iOS 和 Android 的 Outlook 则限制在 33 MB。因此,接收您邮件的人可能有比您更严格的限制。

还有编码开销。附件以 base64 编码传输,这将每 3 字节转换为 4 个字符(RFC 2045,第 6.8 节),而微软自己的限制表指出,离开其数据中心的消息也会有 33% 的翻译增加。从这一点反推。25 MB 的消息上限大约对应于 18 MB 的实际文件大小,因此 18 MB 是目标。

我应该先调整大小还是先压缩?

先调整大小。这是更大的杠杆,也是人们跳过的步骤。一张 3840x2160 的照片包含 8.3 兆像素,而我们 调整大小工具 中的 50% 预设将其调整为 1920x1080,在任何编码器接触之前丢弃四分之三的像素。浏览器通过 createImageBitmap 进行高质量重采样来完成这个缩放。没有人会注意到您在笔记本电脑上阅读的电子邮件。

不要指望调整大小工具完成所有工作。它保留输入的任何格式,并默认以质量 90 重新编码有损文件,而 PNG 输出保持无损,因此您获得的字节节省主要来自缺失的像素。它提供 15 个社交预设加上 25/50/75 的百分比步骤,并且每批最多可以处理 10 个文件或 50 MB。下载调整大小后的集合,然后将其输入压缩工具。

质量滑块实际节省了多少?

这是一个照片,texture.jpg,3840x2160,538.6 KB,通过我们的 压缩工具 在四个设置下处理。智能模式是默认设置,也是您想要用于电子邮件的设置。当一个表单将您限制在固定数字时,滑块单独停留在 131 KB 的原因 就是这一点。

texture.jpg,3840x2160,538.6 KB 源,JPEG 输出。
设置输出变化
智能模式286.1 KB-47%
滑块 90347.8 KB-35%
滑块 60212.4 KB-61%
滑块 30131 KB-76%
LeanImg 压缩工具显示 texture.jpg 从 538.6 KB 降至 286.1 KB 的智能模式
3840x2160 照片的智能模式:538.6 KB 降至 286.1 KB,减少 47%,未调整任何设置。

关于这个滑块,有一件事让人感到惊讶。对于 JPEG 源,它作为一个乘数工作:我们从其量化表中读取源的估计质量,并按您设置的值进行缩放,因此一张原本以 60 保存的照片在滑块设置为 80 时编码为 48。以字面意义上的 80 重新编码质量为 60 的 JPEG 会膨胀文件而不恢复任何内容。智能模式为 JPEG 选择 80,为 WebP 选择 80,为 AVIF 选择 63,为 PNG 选择无损,编码由 MozJPEG 编译为 WebAssembly 完成。

为什么我的截图在压缩后仍然很大?

因为 PNG 是无损的,而无损有一个底线。以 alpha.png 为例,900x606 带透明度,942.4 KB。"PNG 无压缩" 选项以级别 3 运行 oxipng,将其压缩到 383.9 KB,减少 59%,每个像素与原始图像完全相同。"PNG 更小文件大小" 选项运行 imagequant,它在 256 色调色板上重建图像,最终大小为 98.3 KB。同一张图片,减少了 90%。

调色板量化适合平面 UI 颜色、标志和线条艺术。它在渐变和肤色中产生可见的带状效应,因此照片并不适合使用。如果您批次中的 PNG 完全没有透明度,最便宜的做法是在压缩之前先 PNG 转 JPG照片和截图之间的区别 就是决定这一点的。

我应该转换为 WebP 或 AVIF 以获得更多压缩吗?

对于电子邮件,不需要。同样的 texture.jpg,相同的滑块位置,三个编码器:

texture.jpg,3840x2160,538.6 KB 源。
格式在滑块 80 时在滑块 63 时编码时间
JPEG286.1 KB未测量瞬时
WebP290.3 KB200.6 KB瞬时
AVIF312.7 KB186.9 KB大约 10 秒

这个表看起来有点反常,直到你知道原因。JPEG 的 80 是根据源的质量重新缩放的,因此实际上是更低的,而 WebP 和 AVIF 则直接按 80 处理。将 AVIF 降到其智能默认值 63,它在大小上确实胜出,达到 186.9 KB,这是此页面上最小的数字。但它也花费了每张图像大约 10 秒,而 AVIF 在浏览器外的支持情况不佳。您的收件人的邮件客户端不是浏览器。发送 JPEG。

压缩会删除我照片中的 GPS 位置吗?

是的,它还会删除其他所有信息。这里的压缩解码为原始像素并重新编码,这会丢失 EXIF、GPS 坐标、相机型号、ICC 配置文件和嵌入的缩略图。图像方向会保留,因此没有任何内容会侧着到达。这比听起来更重要:房屋、汽车或孩子学校的照片携带拍摄地点的坐标,发送原始文件会将这些信息交给转发该消息的人。我们的 隐私页面 详细说明了其余内容。

在此过程中是否上传了照片?

没有。在您拖放文件之前,打开开发者工具中的网络面板并观察:编解码器从同一来源加载一次,此后没有请求将您的图像传输到任何地方。MozJPEG、oxipng 和 imagequant 都作为 WebAssembly 在标签页中运行,浏览器自己的画布编码器作为 JPEG、PNG 和 WebP 的后备。没有需要稍后删除的内容,因为没有任何内容被存储。

尝试在当前卡在草稿中的批次上进行操作。打开 调整大小工具,拖放最多 10 张照片,点击 50% 预设并下载它们。将这些文件通过智能模式的 压缩工具 处理,然后在附加任何内容之前查看下载全部按钮上的总数。低于 18 MB,Gmail 会接受。如果其中一个文件是您计划作为文档发送的扫描件,我们关于 将 JPG 转换为 PDF 的文章涵盖了该步骤对大小的影响。