jpg转png在线:透明区域变黑或变白正常吗?何时不该转

把 JPG 转成 PNG 之后,原本干净的背景变成一片黑或者一片白,这不是转换出错了——JPG 格式里压根没有存透明信息,那部分数据在它被存成 JPG 的那一刻就已经丢了。

这篇把 jpg转png在线 转换里最高频的几个疑问一次讲完:透明区为什么会变色、照片什么时候不该转 PNG、GIF 动图为什么只剩一帧、iPhone 的 HEIC 为什么浏览器打不开,以及批量转换的正确顺序。

一、四种格式的一句话结论

  • JPG:照片和大图的默认选择。体积小、兼容性无敌,代价是不支持透明、有损
  • PNG:截图、Logo、任何需要透明的图。无损,代价是照片类体积暴涨
  • WebP:现代浏览器的通用答案。既支持透明也支持动画,同画质比 JPG 小 25%~35%
  • GIF:只有 256 色,画质差体积大,只适合简单动图和表情包

一句话选型:照片走 JPG 或 WebP,其他走 PNG 或 WebP

二、透明区域为什么变黑 / 变白

这是转换类工具里排第一的疑问,得从通道说起。

一张图的每个像素,JPG 只存 RGB 三个通道(红绿蓝),PNG 存 RGBA 四个(多一个 alpha 透明度)。所以:

  1. 你把一张带透明的 PNG 存成 JPG 时,alpha 通道无处可放,只能丢掉。透明区域的 RGB 值本来就是未定义的,有的编码器按 0 处理,于是那片区域变成黑色;讲究一点的工具会先铺一层底色,于是变成白色
  2. 你再把这张 JPG 转成 PNG,得到的 PNG 当然支持透明,但透明信息早在上一步就丢了,白色(或黑色)已经是图里的实色像素,不可能靠转格式变回透明

所以结论是:透明能不能保住,取决于源图,不取决于目标格式。想保住透明,必须全程用 PNG / WebP,中间任何一步经过 JPG 都救不回来。

本站的 jpg转png在线转换工具 在输出 JPG 时会主动用白色填充透明区(源码里就是先 fillRect 铺白底再绘制),所以你看到的通常是白底而不是黑底。如果你需要的是黑底或其他底色,得用命令行自己指定:

# ImageMagick:把透明区铺成指定底色再存 JPG
convert logo.png -background white -alpha remove -alpha off logo.jpg
convert logo.png -background black  -alpha remove -alpha off logo_dark.jpg

三、什么时候反而不该转 PNG

照片转 PNG,体积会涨 5~10 倍,而且画质一点没变好。

原因是编码方式:JPEG 对照片做离散余弦变换 + 色度抽样,对连续渐变极其高效;PNG 是无损逐像素存储,每个像素的老实记下来,照片里那些细微的噪点和渐变全都得如实保留。

实测经验值:

内容 JPEG q80 PNG 倍数
4032×3024 手机照片 约 4 MB 25~35 MB 6~9 倍
1920×1080 风景照 约 300 KB 2~4 MB 7~13 倍
1920×1080 软件截图 约 150 KB 300 KB~1 MB 2~6 倍
512×512 Logo 约 30 KB 40~80 KB 差别不大

注意第三行:截图转 PNG 的代价远小于照片,因为纯色块对 PNG 很友好。所以规则是:

  • 照片、渐变多的图 → JPG 或 WebP,不要转 PNG
  • 截图、UI、文字、Logo、需要透明 → PNG(或 WebP)
  • 已经是一张 JPEG 的照片转成 PNG,除了把体积放大什么都没得到

四、为什么选了 PNG,质量滑块就没了

转换工具里「输出质量」这个滑块只在 JPG / WebP 下出现,切到 PNG 就消失了——这不是没做,而是 PNG 根本就没有质量参数

PNG 是无损格式,压缩过程是 DEFLATE 那套字典编码,只有「压缩等级」的概念(压得快一点还是慢一点),不影响画质。你能调的只有:

  • 颜色位数:PNG-24(1600 万色)和 PNG-8(256 色)。纯色 Logo、图标这类可以降到 PNG-8,体积常常再掉一半,但需要专门的工具或调色板处理
  • 尺寸:还是那句话,改像素数是唯一立竿见影的手段

所以如果你选了 PNG 却还想「压小一点」,正确做法不是找质量滑块,而是回去缩小尺寸,或者改用 WebP 有损(它同时支持透明又能压)。

五、格式选型矩阵

格式 透明 动画 同内容体积 适用场景
JPG / JPEG 不支持 不支持 基准 1× 照片、网站配图、商品图
PNG 支持 不支持 3~10× 截图、Logo、需透明、含小字
WebP 支持 支持 0.6~0.75× 现代网站首选,可替代 JPG 和 PNG
GIF 支持(1 bit) 支持 大且画质差 简单动图、表情包
BMP 不支持 不支持 10~30× 基本不用,老系统或打印链路
ICO 支持 不支持 网站 favicon
HEIC 支持 支持 很小 iPhone 照片存储,网页不通用

本站的图片格式转换工具:输入支持 JPG / PNG / WebP / BMP / GIF,输出为 JPG / PNG / WebP 三种,可调质量与输出宽度,支持多文件批量转换。

六、GIF 动图只会保留第一帧

在线转换工具基本都用浏览器 canvas 绘制,而 canvas 抓的是图片当前渲染的那一帧,GIF 放进去通常就是第一帧,动画信息全部丢失。这不是 bug,是 canvas 的工作方式决定的。

要保住动画,只有两条路:

# 方案 A:拆成帧序列自己处理(ffmpeg)
ffmpeg -i anim.gif frame_%03d.png

# 方案 B:转成现代动图格式,体积通常只有 GIF 的 1/5
ffmpeg -i anim.gif -vf "scale=640:-1" -loop 0 anim.webp

网页上要放动图,优先用 WebP 动图或 MP4,GIF 只在必须兼容老环境时才用。

七、ICO 与 favicon 该多大

现代浏览器早就支持直接用 PNG 当 favicon,多数情况下不需要 .ico。做法是在页面里声明两个尺寸即可:

<link rel="icon" href="/favicon-32.png" sizes="32x32">
<link rel="apple-touch-icon" href="/favicon-180.png">

常用尺寸:32×32(浏览器标签)、180×180(iOS 添加到主屏)。

如果确实要 .ico(比如某些老系统或打包需求),用 ImageMagick 一次生成多尺寸复合图标:

magick logo.png -define icon:auto-resize=256,128,64,48,32,16 favicon.ico

源文件建议用 1024×1024 或至少 512×512 的正方形 PNG,缩放下来的小图标才不会糊。在线转换工具能帮你出 PNG,但 .ico 还需要本地这一步。

八、HEIC 为什么浏览器打不开

iPhone 默认用「高效」模式拍照,存的是 HEIC(HEIF 封装 + HEVC 编码)。这个格式对手机很友好,但很多浏览器、Windows 老版本、以及各类在线工具都读不了,表现就是选完文件没反应或者报「不支持的格式」。

三种解决方式:

  1. iPhone 上改设置:设置 → 相机 → 格式 → 选「兼容性最佳」,之后拍出来直接是 JPEG
  2. Mac 上导出:预览或照片 App 打开后,「文件 → 导出」选 JPEG
  3. 命令行转换magick IMG_0001.HEIC IMG_0001.jpg

要在网页工具里处理 iPhone 照片,先按上面任意一种转成 JPG/PNG 再上传。

九、批量转换的正确顺序

一次处理几十张图时,顺序错了会白干:

  1. 先改尺寸——像素数决定体积基数,这一步收益最大
  2. 再转格式——定好 JPG / PNG / WebP
  3. 最后调质量——只在还超限时才往下压
  4. 始终从原图导出——不要对已经压过的图再压一遍,JPEG 每存一次丢一次细节

👉 jpg转png在线转换(批量、免登录、不上传):支持多选一次拖进去,统一设置目标格式、质量和最大宽度,可以单张下载也可以一键下载全部。

十、避坑清单

  • 透明信息一旦经过 JPG 就永久丢失,全程用 PNG / WebP 才能保住
  • 转 JPG 时透明区变白或变黑都正常,取决于工具是否铺底
  • 照片转 PNG 体积涨 5~10 倍且画质无提升,别转
  • 截图、含小字的图别转 JPEG,边缘会有振铃伪影
  • GIF 转格式只保留第一帧,动图要用 ffmpeg 另处理
  • iPhone 的 HEIC 先转成 JPG 再上传
  • favicon 优先用 PNG,需要 .ico 再本地生成
  • 转完体积还大,先用 图片压缩 改尺寸,别反复压质量

相关工具:图片格式转换图片压缩图片尺寸调整

全部纯前端实现,图片不上传服务器。

还有 53 个免费在线工具

纯前端实现,不用注册,数据不上传服务器。

浏览全部工具