文件图片 本地计算 开箱即用 内置示例 不留痕迹

图片格式转换

在浏览器本地把图片在 PNG、JPG、WebP 三种格式间转换:转向有损格式时可调质量,转向 JPG 时透明区域自动填充底色。转换结果一键下载,图片全程不上传。

手机拍的是 HEIC、下载到的是 WebP,遇到「别的软件打不开」就需要格式转换:本工具在浏览器本地完成 PNG、JPG、WebP 互转,转向有损格式可调质量,转完一键下载,图片不上传任何服务器。

口径提醒:JPG 不支持透明通道,PNG 转 JPG 时透明区域自动填充底色;质量参数只影响 JPG/WebP(90 左右是画质与体积的平衡点),PNG 无损不适用;画布重编码不保留 EXIF 拍摄信息——对想抹掉位置信息的人来说,这反而是附带的好处。

使用步骤

  1. 选一张图,或切「内置示例」先试。
  2. 选目标格式:PNG、JPG 或 WebP。
  3. 转向有损格式时按需调质量。
  4. 点「转换」看结果区体积,下载保存。

计算原理与示例

怎么转换格式

点「选择图片」或切到「内置示例」,选好目标格式后点「转换」,结果区给出源图信息与转换后体积(支持画布的浏览器中),点下载保存。

透明背景去哪了

JPG 不支持透明通道:PNG 转 JPG 时,透明区域会被填充为底色。需要保留透明请转成 PNG 或 WebP。

质量参数对谁生效

质量系数只影响 JPG 与 WebP 这类有损格式;PNG 是无损格式,质量参数对它无效。转向 JPG/WebP 时 90 左右是画质与体积的平衡点。

转换后画质会变差吗

无损互转(例如 PNG 与 WebP 之间无损模式)像素不变;转向有损格式会有轻微损失,正常观看几乎察觉不到,对画质苛刻的场景请保留原图。

代码示例

JavaScript 换格式就是换 toBlob 的 MIME

// 转格式不需要换解码路径:解码一次,重新编码成目标 MIME 即可
async function convert(file, mime) {
  const img = await createImageBitmap(file);
  const canvas = document.createElement('canvas');
  canvas.width = img.width;
  canvas.height = img.height;
  canvas.getContext('2d').drawImage(img, 0, 0);

  // 透明图转 JPG 会变黑底:先铺一层白底(PNG/WebP 支持透明,不需要)
  if (mime === 'image/jpeg') {
    const ctx = canvas.getContext('2d');
    ctx.globalCompositeOperation = 'destination-over';
    ctx.fillStyle = '#ffffff';
    ctx.fillRect(0, 0, canvas.width, canvas.height);
  }
  return new Promise((resolve) => canvas.toBlob(resolve, mime, 0.9));
}
const webp = await convert(fileInput.files[0], 'image/webp');

Shell ImageMagick 一行转换

# 基本转换(按扩展名推断目标格式)
magick photo.png photo.webp

# 同时指定质量与背景色(PNG 透明 → JPG 需要白底)
magick photo.png -background white -alpha remove -quality 90 photo.jpg

# 批量把一个目录的 PNG 全转成 WebP
for f in *.png; do magick "$f" "${f%.png}.webp"; done

常见问题

PNG 转 JPG 之后透明背景去哪了?

JPG 格式本身不支持透明通道,透明区域在转换时会被填充为底色。要保留透明,请把目标格式换成 PNG 或 WebP。

转换时图片会上传到网络吗?

不会。解码、重编码、下载全部由浏览器在本机完成,页面甚至不需要联网就能用(打开页面本身除外)。

WebP 在老设备上打不开怎么办?

把 WebP 转成 JPG 即可兼容几乎所有看图环境;JPG 是普及面广的格式,微信、相册、打印机都认。

iPhone 的 HEIC 照片能直接转吗?

取决于浏览器是否带 HEIC 解码器,目前多数桌面浏览器不支持。建议先在系统相册里导出为 JPG,再用本工具做后续转换。

GIF 动图转成 PNG 还有动画吗?

没有了。PNG、JPG、WebP 静态图都只保留第一帧。要保留动画请维持 GIF 格式,或使用专门的视频工具。

质量参数调低会怎样?

体积变小,但过低(40 以下)会出现块状模糊与色彩断层。日常分享 60~80 足够,存档或再编辑请用 90 以上或改用 PNG。

转换会重置图片的拍摄信息吗?

会。画布重编码只保留像素本身,EXIF 拍摄时间、GPS 等元数据不会带入新文件——对想「顺手抹掉位置信息」的用户来说反而是个附带的好处。

延伸阅读

来自本站原创文章,讲清这个工具背后的算法与口径。