跳到主要内容
PulsarKit

PNG转JPG

把PNG图片转换为JPG,可以用滑块调节质量,并给透明部分选一个背景色,全部在浏览器中完成。

把文件拖到这里

.png · 最大100 MB

如何把PNG转换为JPG

  1. 1

    拖入PNG文件

    一次最多添加100个文件。格式从文件内容本身识别,所以实际上存成别的格式的PNG也会交给正确的解码器。

  2. 2

    选择质量和背景色

    质量范围是40到100。JPG没有透明通道,所以透明区域下面需要垫一层纯色:白色、黑色或任选一种颜色。

  3. 3

    下载JPG

    可以看到转换前后的文件大小。单个文件直接下载;多个文件打包成一个ZIP。

为什么透明部分必须变成一种颜色

PNG保存透明通道:每个像素都记录自己有多透明。JPG没有这种通道,以后也不会有;这个格式是为照片设计的,而照片里没有透明的东西。所以转换器必须决定透明部分后面放什么,这个工具让你来定。白色适合要放进文档的Logo,黑色适合用在深色页面上的作品,自定义颜色可以和图片将来所在的背景一致。混合是在线性光空间里做的,而不是直接在保存的字节上计算,这在柔和的边缘上很重要:用简单的办法把深色图形混到白色上,半透明的边缘会变成脏兮兮的灰色,这圈杂边事后去不掉。处理得当,边缘会保持眼睛预期的亮度。

质量、色彩细节和文件大小

默认质量是90,因为在这个点上,大多数照片已经看不出明显的压缩痕迹,文件仍比PNG小三到十倍。低于70左右,天空这类平滑渐变里就会开始出现色块。色彩细节设置针对的是另一类图片:4:2:0时,颜色按一半分辨率保存,在照片上看不出来,在截图上却非常明显,细的彩色线条和小号彩色文字会带上一圈杂边。如果你的PNG是截图、图表或示意图,切换到4:4:4。文件会大一点,文字保持清晰。渐进式编码默认开启:文件通常略小一些,在浏览器里边加载边从上到下显示。

文件留在你的设备上

解码PNG、填充透明区域和写入JPG,都用WebAssembly编解码器在浏览器标签页里完成。不上传任何内容,服务器上没有队列,关闭标签页后一切都从内存中清除。所以截图和不想交给陌生人存储的照片,也可以放心用这个工具转换。

常见问题

为什么JPG不支持透明?

JPG是1992年为照片设计的,而照片没有透明像素。这个格式只保存每个像素的亮度和颜色,文件里没有地方记录像素有多透明。所以每个PNG转JPG的转换器都必须在透明区域后面垫点东西,这也是这个工具问你用什么颜色的原因。

质量选多少合适?

没有特别理由的话,保持90。对照片来说,这个设置和原图在视觉上看不出区别,文件却小得多。如果网页需要更小的文件,而这张图片又不是主角,降到75。只有在JPG以后还要编辑并重新保存时才选100,因为每保存一次都会再损失一点。

为什么文件反而变大了?

纯色为主的PNG会出现这种情况:界面截图、Logo、示意图。PNG把这类图片存成一个小调色板,用无损压缩压到几KB,而JPG只能用频率的方式描述同一张图,效果很差。出现这种情况时页面会提示你,但仍然给你JPG,因为你要的就是JPG;如果你只是想要更小的文件,“图片压缩”更合适。

4:2:0色度抽样是什么?

意思是颜色信息按每2×2像素的方块保存,而不是每个像素保存一份,亮度则保持完整分辨率。在照片上人眼几乎察觉不到,还能省下不少空间。在带有一像素宽彩色线条的截图上就很明显,因为线条的颜色会渗开。这类图片请把色彩细节设置切换到4:4:4。

EXIF、ICC配置文件和其他元数据会保留吗?

不会。PNG里的文本块和嵌入的色彩配置文件都会丢弃,JPG里也不写入任何元数据。唯一的例外是方向标记:如果PNG带有方向标记,编码前会先把旋转应用到像素上,所以图片的方向是正的。

一次能转换多少个文件?

一批最多100个文件,总共500 MB,每个文件使用相同的质量和背景设置。结果打包成一个名为pulsarkit-png-to-jpg.zip的ZIP文件。某个文件失败不会影响这批里的其他文件。

动态PNG会怎么处理?

APNG文件用第一帧转换,任何不支持动画的看图软件显示的也正是这一帧。JPG根本不能保存动画,所以其余的帧没有别的处理办法。页面会注明这个文件是动态的,结果不会让你意外。

文件会上传到服务器吗?

不会。每一步都在浏览器中运行,用的是WebAssembly版本的PNG和JPEG编解码器,和桌面软件用的是同一套。不上传,无需账号,关闭标签页后任何地方都不会留下副本。

相关工具