图片导出 图片导出 · ExportImg

将树形 Bitmap 数据按分支路径导出到指定文件夹,支持 PNG/JPG/BMP/TIFF 格式
📂 LK → QR📄 ExportBitmapComponent.cs

📖 功能概述

接收树形结构的 Bitmap 和对应的树形导出路径,按分支逐项保存图像文件。每个分支第一个 bitmap 以路径名(不含扩展名)直接保存,后续 bitmap 自动追加 _1, _2 编号后缀。格式通过右键命名值快速切换。

💡 Bitmap 提取策略(两层回退)

优先级方法
1反射解包 GH_Bitmap(按类型名和命名空间查找 Value 属性)
2GH_ObjectWrapper 解包 Bitmap(直接 as 转换)

📥 输入参数

名称类型必填说明
图片 (B)Generic必需树形 Bitmap 数据。每个分支按序处理。
路径 (P)Text必需树形输出路径,不含扩展名。分支结构与图片端口匹配。
如:C:\output\myimage
格式 (F)Integer可选图片格式:0=PNG, 1=JPG, 2=BMP, 3=TIFF。默认 0(PNG)。右键有名值下拉。
导出 (B)Bool可选触发导出,默认 false。设为 true 时执行保存操作。

📤 输出参数

无输出端口。

🧠 运行流程

  1. 读取数据 — 获取图片树、路径树、格式索引和导出开关
  2. 校验 — 分支数必须一致,否则报 Error Bitmap 与路径的分支数必须相同
  3. 格式映射 — 0→.png/ImageFormat.Png, 1→.jpg/Jpeg, 2→.bmp/Bmp, 3→.tiff/Tiff
  4. 逐分支循环 — 对每分支的每项 bitmap 执行:
    1. ExtractBitmap 解包
    2. 空则 Warning 并跳过
    3. 多图自动编号(非首图加 _n 后缀)
    4. 自动创建目录(EnsureDirectoryExists
    5. bmp.Save(fullPath, imgFormat) 保存
  5. 错误处理 — 保存失败时捕获异常并报告具体文件路径和错误信息

⚠️ 注意事项

📋 组件信息

名称图片导出
英文名ExportImg
分类LK → QR
基类GH_Component
特色树形批量导出、自动创建目录、Bitmap 双重解包
GUID{A078E096-3821-4B19-B86E-31B57037A44D}

更新日期:2026-06-29