跳到主要内容

图片格式转换

可调用节点 v3.0.0

图片格式转换 | 基于 ImageMagick 的 200+ 图片格式互转(PNG/JPEG/WEBP/AVIF/HEIC/TIFF 等),支持批量处理、自定义输出目录、图片质量调节,可定时任务与脚本联动调用 | 一键输出转换图片

脚本能力

直接启动支持 右键启动支持 快捷键启动支持 超级复制启动不支持 定时任务支持 可被其他脚本调用 依赖其他脚本 图形化启动界面支持

一键将图片转换为 PNG / JPEG / WEBP / BMP / GIF / ICO / TIFF 等 200+ 种格式,基于 ImageMagick 引擎,支持批量处理、定时任务与脚本联动。


✨ 核心特性

  • 200+ 格式支持:基于 ImageMagick 引擎,支持 PNG、JPEG、WEBP、AVIF、HEIC、TIFF 等 200+ 种格式互转
  • 参数窗口自动弹出:启动前自动弹出参数设置窗口,可选择输出格式、质量、输出目录
  • 右键菜单集成:选中图片 → 右键 → 一键转换,参数窗口自动预填所选图片
  • 批量处理:支持同时选中多张图片批量转换
  • 自定义输出目录:可指定输出位置,留空则保存到原图所在目录
  • 质量可调:图片质量 1-100 自由调节(适用于 JPG/WEBP 等有损格式)
  • 智能边缘处理:自动处理 JPEG 透明通道等特殊情况
  • 安全输出:同目录输出自动加 _converted 后缀,绝不覆盖原图
  • 定时任务:可定时自动转换,无人值守运行
  • 脚本联动:已声明为节点,可被其他脚本调用并返回转换结果

🎬 脚本演示

图片格式转换脚本演示


安装方法

本脚本的运行环境、依赖组件及图形化窗口均依赖"不忙脚本盒子",建议仅通过盒子安装和使用本脚本。

前置条件:安装好 不忙脚本盒子

  • 打开盒子 → 脚本市场 → 搜索 「图片格式转换」
  • 点击「安装」

安装后盒子会自动配置 Python 环境、ImageMagick,并提供右键、快捷键、定时任务等触发能力。


🚀 使用方式

卡片运行 / 右键 / 快捷键

  • 在「不忙脚本盒子」中点击脚本卡片,或:
    • 在文件管理器中选中一张或多张图片文件
    • 右键点击 → 选择「图片格式转换」
    • 或选中文件后按下为脚本设置的全局快捷键
  • 脚本启动前自动弹出参数设置窗口,按需选择:
    • 输出格式:下拉选择目标格式(支持 200+ 种)
    • 图片质量:1-100 可调(仅 JPG/WEBP 生效)
    • 输出目录:留空则输出到原图所在目录
  • 点击「执行」,脚本开始批量转换并在控制台显示进度

定时任务

  • 在盒子的「定时任务」中新建任务,选择本脚本
  • 在任务表单中设置源文件、输出格式、质量等参数(可留默认值)
  • 设定触发时间,到点后盒子自动无人值守运行并记录结果

💡 使用提示

  • 输出格式:除常用格式外,还支持 AVIF、JXL、HEIC 等现代格式;下拉框可直接滚动选择
  • 输出目录:可在文件资源管理器地址栏复制文件夹路径,粘贴到参数窗口的「输出目录」
  • 同目录输出:为避免覆盖原图,同目录输出会自动追加 _converted 后缀
  • 定时场景:所有参数均有默认值,定时任务只需设置源文件即可

节点脚本(开发者阅读)

本脚本已声明为节点,可被其他脚本通过「脚本联动」调用:

  • 传入图片路径(data.target_paths),可覆盖参数 format / quality / output_dir
  • 返回 output_paths(转换成功的文件绝对路径数组)、codemsg
  • code = 0 表示成功,非 0 表示失败(msg 说明原因)
import json, sys, requests

payload = json.load(open(sys.argv[1], encoding="utf-8"))
env = payload["environment"]
r = requests.post(f"{env['api_base']}/api/link",
                  json={
                      "script_id": "92c926c7-7450-4503-bbaa-2a5b635eedd7",
                      "data": {"target_paths": ["C:/a.png", "C:/b.png"]},
                      "params": {"format": "webp", "quality": 90},
                  }, timeout=3600)
body = r.json()
if body.get("success") and body["result"].get("code") == 0:
    print(body["result"]["output_paths"])   # 转换成功的结果路径列表

🖥️ 环境要求

项目 要求
操作系统 Windows 10+(64位)
运行环境 Python 3.8+、ImageMagick(由盒子自动安装)

免责声明

所有脚本由用户通过开源仓库自行发布。本站仅提供索引服务,"不忙脚本盒子"仅提供展示与安装服务。请在使用前仔细核实脚本内容,作者不对其安全性、准确性及适用性作任何保证。

脚本推荐