You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求推荐HEIC转JPG/PNG工具:适配iPhone图片跨服务商传输需求

HEIC转JPG/PNG工具推荐(适配业务批量处理场景)

针对客户上传iPhone拍摄的HEIC照片(如车祸现场图)需转换格式的需求,推荐以下不同场景下的实用方案:

批量桌面工具(适合本地大量文件处理)

  • Adobe Lightroom:支持批量导入HEIC文件,导出时直接指定JPG/PNG格式,色彩还原精准,还能快速完成照片的基础校正,适合处理多份现场照片的场景。
  • Preview(Mac系统自带):无需额外安装软件,选中多个HEIC文件后右键选择「导出」,可批量设置输出格式与质量,操作零成本。
  • IrfanView(Windows):轻量免费的图片查看器,自带「批量转换/重命名」功能,能一次性处理数十份HEIC文件,步骤简单易上手。

在线快速转换(适合临时少量文件处理)

选择支持批量上传的在线HEIC转换工具,直接上传文件后选择JPG/PNG格式即可下载。注意:涉及敏感现场照片时,优先使用本地工具,避免隐私泄露风险。

编程集成方案(适合业务自动化流程)

如果需要将转换环节嵌入现有服务(自动处理客户上传的HEIC文件),可以用以下代码方案:

Python 批量转换实现

依赖pillow-heif库,安装后通过简单脚本实现批量转换:

from pillow_heif import register_heif_opener
from PIL import Image
import os

# 注册HEIC格式支持
register_heif_opener()

def batch_convert_heic(input_path, output_path):
    # 确保输出目录存在
    os.makedirs(output_path, exist_ok=True)
    # 遍历输入目录下的HEIC文件
    for file in os.listdir(input_path):
        if file.lower().endswith(".heic"):
            heic_file = os.path.join(input_path, file)
            img = Image.open(heic_file)
            # 生成输出文件名(替换后缀为JPG)
            output_file = os.path.join(output_path, f"{os.path.splitext(file)[0]}.jpg")
            img.save(output_file, "JPEG", quality=90)

# 调用示例:转换input_dir下的HEIC到output_dir
batch_convert_heic("./customer_uploads", "./converted_files")

Node.js 流式处理实现

使用heic-convert包,可在服务端直接处理上传的HEIC文件流,转换后传递给下游服务商:

const { convert } = require('heic-convert');
const fs = require('fs').promises;

async function convertHeicToJpg(inputBuffer) {
  const outputBuffer = await convert({
    buffer: inputBuffer,
    format: 'JPEG',
    quality: 0.9
  });
  return outputBuffer;
}

// 示例:读取本地HEIC文件并转换
(async () => {
  const inputBuffer = await fs.readFile('./photo.heic');
  const jpgBuffer = await convertHeicToJpg(inputBuffer);
  await fs.writeFile('./photo.jpg', jpgBuffer);
})();

内容的提问来源于stack exchange,提问作者Tully Pettigrew

火山引擎 最新活动