Skip to content

ShihaoDevLab/Ink-Canvas-Next

Repository files navigation

Ink Canvas Next

一款基于 Avalonia 和 .NET 构建的创新桌面绘图应用,采用 Windows 11 Fluent Design 设计语言,深度集成 PowerPoint 幻灯片批注。

功能特性

  • 三种绘图工具:画笔(Pen)、荧光笔(Highlighter,10x 厚度 + 半透明效果)、橡皮擦(Eraser)
  • 调色板:8 种预设颜色(黑色、红色、蓝色、绿色、橙色、紫色、黄色、白色)
  • 画笔大小可调:1–20 像素滑块调节
  • 自适应颜色:根据背景模式自动切换笔迹颜色(白底黑字、黑底白字、透明底红色)
  • 背景模式:透明(Transparent)、白板(Whiteboard)、黑板(Blackboard)
  • PowerPoint 幻灯片集成
    • 自动检测正在运行的幻灯片放映
    • 上一页 / 下一页导航
    • 幻灯片编号显示
    • 基于 COM Interop 和 Win32 窗口枚举双模式检测
  • 幻灯片笔迹管理:每页幻灯片独立记录和恢复笔迹,翻页自动保存
  • 保存画布:导出为 PNG 到 Pictures/InkCanvasScreenshots/
  • 清除画布:一键清除所有笔迹
  • 双语界面:简体中文 / English 切换
  • 现代化界面:Windows 11 Fluent Design 无边框全屏窗口

技术栈

组件 技术
框架 Avalonia 11.3.11
语言 C# (.NET 10.0, 目标平台 net11.0-windows)
架构模式 MVVM (CommunityToolkit.Mvvm 8.2.1)
主题 FluentAvaloniaUI 2.5.0
绘图引擎 DotNetCampus.AvaloniaInkCanvas 1.0.1 + SkiaSharp
Office 集成 Microsoft.Office.Interop.PowerPoint 15.0.4420.1018

项目结构

Ink-Canvas-Next/
├── Ink Canvas Next.slnx
├── Ink-Canvas-Next/
│   ├── Assets/
│   │   └── avalonia-logo.ico
│   ├── Converters/
│   │   └── UiLanguageDisplayConverter.cs
│   ├── Models/
│   │   ├── AdaptiveColors.cs
│   │   └── HighlighterSettings.cs
│   ├── Services/
│   │   ├── CanvasService.cs          # 画布导出 PNG
│   │   ├── PowerPointService.cs      # PPT 幻灯片监控与导航
│   │   └── SlideAnnotationManager.cs # 每页笔迹持久化
│   ├── ViewModels/
│   │   ├── ViewModelBase.cs
│   │   └── MainWindowViewModel.cs    # 主 ViewModel
│   ├── Views/
│   │   ├── MainWindow.axaml          # 主窗口 UI
│   │   └── MainWindow.axaml.cs
│   ├── App.axaml
│   ├── App.axaml.cs
│   ├── Program.cs
│   ├── ViewLocator.cs
│   ├── app.manifest
│   └── Ink-Canvas-Next.csproj
├── .github/workflows/
│   ├── build-and-release.yml
│   └── opencode.yml
├── .gitignore
├── LICENSE
├── README.md
└── TODO.md

系统要求

  • Windows 10 或更高版本(需要 PowerPoint COM 支持)
  • .NET 10.0 SDK
  • Microsoft PowerPoint(可选,用于幻灯片集成功能)

编译

cd Ink-Canvas-Next
dotnet build

运行

dotnet run

使用说明

  1. 绘图:选择画笔或荧光笔工具,在画布上绘制
  2. 切换颜色:从调色板下拉菜单中选择颜色
  3. 调整大小:拖动滑块调整笔刷粗细(1–20px)
  4. 切换背景:点击 Transparent / White / Black 切换背景模式
  5. PPT 批注:启动 PowerPoint 幻灯片放映后,应用自动检测并显示导航控件,可在每页幻灯片上独立批注
  6. 保存:点击 Save 将当前画布导出为 PNG
  7. 清除:点击 Clear 清空所有笔迹
  8. 语言:通过语言下拉菜单在中英文之间切换

许可证

MIT

About

Ink Canvas Avalonia Demo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages