Skip to content

Repository files navigation

PNA Viewer

WillPlus/AdvHD 引擎 .pna 立绘文件交互式查看器。

基于 WPF + HandyControls 开发,支持实时图层合成、差分切换、语义化命名和批量导出。

C# Windows WPF Build Status License: GPL v3

GitHub Downloads (all assets, latest release)

功能特性

  • 🧩 智能分组 — 根据文件中的 Type=1/2 标记自动划分部件组,树形结构展示
  • 🎚️ 差分切换 — 在每个分组内自由切换不同的图层
  • 🔒 分组锁定与贡献模式 — 每个分组可独立控制:
    • ✕ 隐藏(不显示,不参与导出)
    • ◉ 单层(只显示选中图层,🔒锁定后导出时固定使用该层,否则均作为可选项参与组合)
    • ⬤ 全部叠加(所有图层合成为一张,以整体参与导出)
  • ✏️ 双击重命名 — 分组和图层支持语义化命名(如“身体”、“微笑”),一键恢复默认
  • 📦 批量导出 — 基于锁定状态自动生成笛卡尔积组合,支持预览、暂停/取消、进度反馈
  • 📁 语义化文件名 — 导出格式 {文件名}_{分组名}[{图层名]}_{分组名}[{图层名}].png
  • ✂️ 适配内容 — 使用自动计算全图层最小外接矩形作为画布
  • 🎨 自定义背景 — 设置窗口自由调整查看器背景颜色
  • ⌨️ 快捷键Ctrl+O 打开 / Ctrl+S 导出 / Ctrl+, 设置 / Ctrl+B 批量导出 / Ctrl+H 关于
  • 🔍 图像浏览 — 集成 HandyControls ImageViewer,支持缩放、平移、拖拽
  • 🖱️ 拖拽打开 — 直接把 .pna 文件拖进窗口即可加载
  • 📂 文件关联 — 双击 .pna 文件直接启动查看器并自动加载,也可拖拽至 .exe 上打开

截图预览

主界面与差分切换

主界面

重命名

重命名

批量导出

批量导出

设置

设置

关于页面

关于页面

快捷键

快捷键 功能
Ctrl+O 打开 PNA 文件
Ctrl+S 导出当前合成图
Ctrl+, 打开设置窗口
Ctrl+B 打开批量导出窗口
Ctrl+H 打开关于窗口
Ctrl+C 复制当前查看图到剪贴板

相关文档

快速开始

环境要求

  • .NET 10 SDK 或更高
  • Visual Studio 2026 / Rider / VS Code(推荐)

构建与运行

克隆仓库并进入目录:

git clone git@github.com:EienTokei/PNAViewer.git
cd PNAViewer

还原依赖并编译:

dotnet restore
dotnet build
dotnet run

或直接在 Visual Studio 中打开解决方案,按 F5 运行。

使用说明

  1. 点击 “📂 打开” 按钮或拖拽 .pna 文件到窗口
  2. 左侧 TreeView 显示所有部件组,单击切换当前编辑的组
  3. 下方 图层列表 显示当前组内的所有差分,单击切换选中图层
  4. 每个分组右侧有两个控制按钮:
    • 贡献模式切换(✕ / ◉ / ⬤):决定该组在预览和导出中的行为
    • 锁定/解锁(🔓/🔒):仅在 ◉ 模式下生效,锁定后固定当前选中图层
  5. 双击 分组或图层可重命名,右键或点击“恢复默认”回退
  6. 右侧画布实时合成显示所有图层叠加效果
  7. 适配内容 开关控制是否自动裁剪到立绘的实际占用区域
  8. 📦 批量导出 根据各分组当前的贡献模式和锁定状态自动生成组合并导出为 PNG

依赖项

通过 NuGet 安装:

dotnet add package HandyControls

验证情况

華は短し、踊れよ乙女

  • ✅ 全部 45 个 .pna 立绘文件(L/M/S/X 四档分辨率)均正常解析与合成。
  • ✅ 标题文件 SYS_Title.pna — 解析与合成正常,配合分组贡献模式(✕ / ◉ / ⬤)可手动调整各分组的显示与导出行为,适用于 UI 元素浏览。

宿りし乙女の誓いと魔法

  • ✅ 随机抽取的 ST03A_X.pnaST04B_X.pna 兼容。

贡献

欢迎提交 Issue 或 Pull Request。如果你发现了新的 .pna 变种,也欢迎提供样本以便进一步完善解析器。

PNA Viewer 目前由我一个人在维护,但它的方向不应该只由我一个人决定。

如果你在使用过程中遇到了任何问题、觉得某个功能用着不顺手,或者有新的想法想加进来,请一定提个 Issue 或建议。对我来说,每一条反馈都是继续优化这个项目的动力。

👉 提交 Bug 或建议

你的声音会被听到,你的需求会直接决定接下来版本里会出现什么功能。期待你的留言!

Roadmap

以下是我个人计划中、但暂不打算落地的功能方向:

  • 持久化重命名配置
  • 自定义图片背景
  • ......

💡 如果你对其中某个功能特别感兴趣,欢迎提 Issue 告诉我 —— 你的反馈会直接影响优先级。

许可证

GNU General Public License v3.0

联系

如有问题或建议,欢迎在 GitHub 上提交 Issue。


Happy viewing! 🎉

About

Interactive PNA viewer for WillPlus/AdvHD visual novels. Supports layered compositing, group locking & batch export | WillPlus/AdvHD 引擎 PNA 立绘查看器,支持图层合成、分组锁定与批量导出

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages