abox.tools

语言: 简体中文

怎么改图片尺寸而不把它弄坏

在图片这摊活里,缩放是损伤在按下按钮之前就定好的那一件,定它的是你打进去的数字和你要的那个形状。这一页讲每个选择对画面做了什么,以及哪些还救得回来。

打开图片缩放 说个尺寸,拉个框,挑个格式。

以 Markdown 查看

先说结论

打开图片缩放,把图丢进去,只打一个数字,一般是宽度,另一个留空。高度按画面本身的比例跟着走,而这几乎总是你要的:“宽 1920”的意思就是“宽 1920,高该多少是多少”。

下面讲的都是一个数字不够用的情况:人家给了你一个两边都定死的框、图片必须变大,或者一整个文件夹的文件得出来一个样。

改尺寸工具的第 3 步:宽度填 1920,高度留空显示为自动,下面一行写着 photo.jpg 是 2400 × 1600,输出为 1920 × 1280。
只填了一个数字。另一个由工具算出来,并且在改动任何东西之前就说给你听。

缩小和放大会损失什么

这不是同一个操作的两个方向,为什么不是,值得说清楚。

缩小图片会减少信息。对真实像素进行平均处理可能让照片在使用大小下更干净,但小字、细线和纹理也可能消失。请按实际使用大小比较;像素更少并不保证所有可见细节都能保留。

把图变大就非编不可了。那些细节不是文件里没存,是当初根本没拍到。放大器唯一能做的,是拿邻居猜出中间的像素,而两个已知值之间的猜测就是一条平滑的斜坡,所以放大的照片看着发糊,不会更锐。它是同一张图的一份更大的副本,不是一份更细的。

所以这里的工具默认开着“绝不把图片放大”。你要是真需要那个像素数,印刷厂要求最小尺寸、模板不收低于某个宽度的图,那就把它关掉,但心里得清楚:你买到的是像素,不是细节。

那些看着真能补出细节的机器学习放大器,完全是另一回事:它们是按“图片通常长什么样”的模型,编出一层看着合理的纹理。做壁纸没问题。可要是一张人像、一份文件,或者任何会有人据此下判断的东西,你得明白那些多出来的细节是虚构的。

说清楚尺寸的三种办法

多数工具,包括这一个,都接受这三种,各有各的用武之地。

框的比例跟画面对不上的时候

缩放真正见分晓的就在这儿。宽和高你都给了,又跟画面本身的比例对不上,那就总得有一样让步,而能让的一共就四种:

要是你发现自己伸手去点拉伸,那你多半想要的其实是裁切。

同样两个输入框都填了 1200,下面出现一个菜单:形状对不上时,装进框内,整张照片都在,有一边会短一些。
把两条边都填上,这个菜单就出现了。它是本页唯一可能弄丢照片一部分的设置,所以动它之前,下面那四个答案值得先读一遍。

裁切是另一件活,而且往往才是对的那件

缩放改的是用多少像素来描述整张画面。裁切改的是你留下画面里的哪一块。心里想的是后者、手上却去动前者的人,多得出乎意料,而“这张得是方的”从头到尾是个裁切问题,不是缩放问题。

顺序也照这个来:先裁出你要的取景,再把结果缩到你要的尺寸。反过来,就等于在一张已经丢过像素的图上挑构图。

这里的工具把两件事放在一趟里做,正是这个道理:拉个框,需要固定比例就锁一个形状,然后说结果要多大。放在一趟里做还有个好处,画面只被编码一次,为什么这要紧,下一节说。

整批裁切

在一张图上画的框,套到其余图上时,用的是同样的相对区域,也就是各自宽高的同样比例。一批本来尺寸就一致的截图或者导出图,那就是完全相同的一个矩形。一批尺寸混杂的,那就是同样的取景而不是同样的矩形,这通常正合你意,但拿它去处理五十个文件之前,值得先知道。

重新编码的代价,以及怎么让它只发生一次

调整 JPEG 或 WebP 尺寸需要解码、重采样像素并重新编码。缩小时,重采样可能丢失细节;JPEG 或有损 WebP 随后可能增加压缩瑕疵。这是两种不同的损失,请检查尺寸和编码结果。

由此有两点。第一,出口那个质量设置很要紧:照片放在 80 到 85 上下就已经看不出来了,文件却比 100 小得多。第二,只做一次。一张已经缩过两次的图再缩一次,就是三代有损编码叠在一起,那是看得出来的。

PNG 没有这笔代价,因为它是无损的,缩放后的 PNG 就是缩放后的那些像素。你要是中间还有好几步、最终格式又没定,那中途用 PNG 干活,可以避免代际累积。

这里的工具有个细节值得知道:一个你其实压根没改动的文件,会被逐字节原样还给你,不重新编码。对一批图要求“最长边 1600”,那些本来就不到 1600 的会原样出来,标签一个不少。一个悄悄把它们重编一遍的工具,等于在没人要求它动的文件上白白扣掉你的画质。

透明,以及它的下场

PNG 和 WebP 能存透明。JPEG 不能,这个格式里压根没有 alpha 通道。所以把一张带透明的图存成 JPEG,就必须在它后面垫点什么,而垫的是一块纯色。

多数工具用白色,也不跟你说一声。这没什么问题,直到你的 logo 落在一个深色页面上,外面套着一个白框。要么自己有意识地挑这个颜色,要么存成 PNG 或者 WebP,把透明留住。垫成固定尺寸时用的也是这个颜色,那是人们意外撞见这件事的另一个场合。

人家给了你一个数字,该用哪个工具

别人扔给你的数字有两种,需要的工具也不同。

“宽 1200 像素”是尺寸问题。该用图片缩放:你说要多少像素,它就给你多少。

“不能超过 500 KB”是文件大小问题,而缩尺寸只是解决它的办法之一。图片压缩会去找刚好塞进目标的最高画质,只有画质单独够不到时才动尺寸,这一下的代价,它那篇指南里讲了。

这些事一样都不用上传

解码一张图、缩放它、再编码回去,浏览器早就干得了很多年了,网页把一张图画成另一个尺寸,用的就是同一套东西。你的照片要变小,技术上根本没理由跑一趟服务器再回来,而这里的工具也确实哪儿都不发:页面的 Content-Security-Policy 把它可能联的地址全列了出来,没有一个是本站的。

与其听我们说,不如把页面打开,拔掉网线,照缩一张试试。把文件传给在线转换器安全吗?里还有另外三个检查,用在任何工具上都管用。