# PixelCraft Studio
**Repository Path**: vampirewal/pixel-craft-studio
## Basic Information
- **Project Name**: PixelCraft Studio
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-08
- **Last Updated**: 2026-05-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# PixelCraft Studio 🎨
**高性能像素画编辑器 — 基于 WPF + SkiaSharp + .NET 8**
[](https://dotnet.microsoft.com/)
[](https://github.com/dotnet/wpf)
[](https://github.com/mono/SkiaSharp)
[](https://github.com/HandyOrg/HandyControl)
[](LICENSE)
**像素艺术从未如此强大** — 硬件加速渲染 · 专业图层系统 · AI 智能集成 · 流畅创作体验
---
## 📖 目录
- [项目简介](#-项目简介)
- [核心特性](#-核心特性)
- [技术栈](#-技术栈)
- [项目架构](#-项目架构)
- [功能详解](#-功能详解)
- [画布与图层系统](#-画布与图层系统)
- [工具系统](#-工具系统)
- [渲染引擎](#-渲染引擎)
- [命令系统与撤销重做](#-命令系统与撤销重做)
- [颜色管理](#-颜色管理)
- [文件格式](#-文件格式)
- [MCP 服务集成](#-mcp-服务集成)
- [界面概览](#-界面概览)
- [快捷键一览](#-快捷键一览)
- [快速开始](#-快速开始)
- [项目结构](#-项目结构)
- [开发指南](#-开发指南)
- [许可证](#-许可证)
---
## 🚀 项目简介
**PixelCraft Studio** 是一款面向像素艺术家、独立游戏开发者以及 AI 创作者的**现代像素画编辑工具**。它弥补了市面上现有工具的空白——将**硬件加速渲染**、**专业级图层系统**与**AI 协议集成**融于一身,在 Windows 平台上提供流畅、精准且富有创造力的像素画创作体验。
无论是绘制精致的像素角色、设计复古风格的游戏素材,还是通过 AI 助手自动生成像素艺术,PixelCraft Studio 都能胜任。
---
## ✨ 核心特性
| 特性 | 说明 |
|------|------|
| 🖌️ **11 种绘图工具** | 铅笔、画笔、橡皮擦、油漆桶、取色器、选区、魔棒、移动、直线、矩形、椭圆 |
| 📐 **对称绘制** | 支持无对称、水平对称、垂直对称、四象限对称 |
| 📂 **图层系统** | 多图层管理、混合模式(Normal / Multiply / Screen / Overlay / SoftLight)、不透明度、锁定类型 |
| ↩️ **撤销 / 重做** | 基于命令模式,最多 50 步历史,像素级差异存储 |
| ⚡ **硬件加速渲染** | SkiaSharp 驱动,脏矩形优化,仅重绘变化区域 |
| 🎨 **颜色管理** | 前景/背景色、颜色历史、调色板系统、高级颜色编辑器 |
| 🔲 **选区系统** | 矩形选区、魔棒选区、追加/减除/相交模式、蚂蚁线动画 |
| 💾 **文件格式** | 自定义 `.pxart` 工程文件(Deflate 压缩 + SHA256 校验)、`.pxpal` 调色板文件 |
| 📤 **多格式导出** | PNG / JPEG / BMP / ICO,支持 2x / 4x / 8x 放大导出 |
| 🤖 **MCP 协议集成** | 内置 MCP 服务,允许 AI 客户端直接操控画布(26+ 个远程工具) |
| 📐 **画布视图控制** | 缩放(0.5x - 32x)、平移、适配窗口、实际像素 |
| 🎛️ **现代化 UI** | HandyControl 主题、三栏可停靠布局、暗色/亮色主题 |
| 📝 **多文档支持** | 标签页管理多画布、独立编辑、自动保存 |
| 📋 **剪贴板操作** | 复制 / 剪切 / 粘贴选区内容 |
---
## 🛠️ 技术栈
| 技术 | 用途 |
|------|------|
| **.NET 8.0** | 开发平台与运行时 |
| **WPF** | 桌面 UI 框架 |
| **CommunityToolkit.Mvvm 8.4** | MVVM 架构(源生成器驱动) |
| **SkiaSharp 2.88** | 硬件加速 2D 渲染引擎 |
| **HandyControl 3.5** | 第三方 WPF 控件库与主题 |
| **StreamJsonRpc 2.24** | JSON-RPC 2.0 协议实现 |
| **Serilog 4.3** | 结构化日志系统 |
| **System.IO.Compression** | Deflate 数据压缩(工程文件) |
| **System.Security.Cryptography** | SHA256 文件完整性校验 |
---
## 🏗️ 项目架构
项目采用**清晰的分层架构**,遵循 **MVVM 设计模式**,由 7 个源代码项目和 5 个测试项目组成:
```
┌──────────────────────────────────────────────────────────────────┐
│ PixelCraft.UI (WPF 主界面) │
│ ViewModels · Controls · Converters · Dialogs · Windows │
│ MainWindow · DocumentManager · SkiaCanvasControl │
├───────────────────┬──────────────────────────────────────────────┤
│ PixelCraft.Mcp │ PixelCraft.Rendering │
│ (MCP 服务协议) │ (渲染引擎) │
│ McpServer · │ CanvasRenderer · LayerCompositor │
│ McpHttpTransport │ ImageExporter · DirtyRectManager │
│ 26+ 远程工具 │ Checkerboard · MarchingAnts · Grid · 等 │
├───────────────────┼──────────────────────────────────────────────┤
│ PixelCraft.Tools │ PixelCraft.FileFormat │
│ (工具系统) │ (文件格式) │
│ ITool / ToolBase │ .pxart 工程文件 · .pxpal 调色板文件 │
│ 11 种工具实现 │ ImageImportService · GIMP/ Paint.NET 导入 │
├───────────────────┴──────────────────────────────────────────────┤
│ PixelCraft.Core (核心类库) │
│ Models: Canvas · Layer · Palette · Selection · ViewTransform │
│ Commands: 13 种命令 · CommandHistory (50步撤销/重做) │
│ Enums: 15 种 · Extensions · Helpers (Bresenham · Symmetry) │
├──────────────────────────────────────────────────────────────────┤
│ PixelCraft.McpServer (独立 MCP 控制台) │
│ pixelcraft-mcp.exe (stdio JSON-RPC 服务) │
└──────────────────────────────────────────────────────────────────┘
```
### 模块依赖关系
```
PixelCraft.UI ──→ Core ──→ Tools ──→ Rendering ──→ FileFormat ──→ Mcp
↑ ↑ ↑ ↑ ↑
└─────────┴───────────┴──────────────┴───────────┘
PixelCraft.McpServer → Core + Rendering + FileFormat + Mcp
```
---
## 🔍 功能详解
### 🖼️ 画布与图层系统
- **画布**:支持 1×1 ~ 1024×1024 像素,可选择透明或纯色背景
- **图层**:最多 256 层,每层独立存储 RGBA 像素数据
- **图层属性**:名称、可见性、不透明度(0.0~1.0)、混合模式、锁定类型(无 / 透明 / 像素 / 位置)
- **图层操作**:添加、删除、重排、合并、属性修改
- **混合模式**:Normal(正常)、Multiply(正片叠底)、Screen(滤色)、Overlay(叠加)、SoftLight(柔光)
### 🖊️ 工具系统
| 工具 | 快捷键 | 功能 |
|------|--------|------|
| 铅笔 (Pencil) | `P` | 单像素精确绘制,1px 固定大小 |
| 画笔 (Brush) | `B` | 可调笔刷大小(1~20px)的绘制 |
| 橡皮擦 (Eraser) | `E` | 擦除像素,可调大小 |
| 油漆桶 (Flood Fill) | `G` | 区域填充,支持容差和连通方式(4/8 方向) |
| 取色器 (Eyedropper) | `I` | 拾取画布颜色,支持 1×1 / 3×3 / 5×5 平均取样 |
| 选区 (Selection) | `M` | 矩形选区,支持新建 / 追加 / 减除 / 相交模式 |
| 魔棒 (Magic Wand) | `W` | 根据颜色相似度自动选择连续区域 |
| 移动 (Move) | `V` | 移动选区内容或当前图层 |
| 直线 (Line) | `U` | 直线绘制,可调粗细,Shift 约束角度 |
| 矩形 (Rectangle) | `O` | 矩形绘制,支持纯边框 / 纯填充 / 边框+填充 |
| 椭圆 (Ellipse) | `Ctrl+O` | 椭圆绘制,支持纯边框 / 纯填充 / 边框+填充 |
所有工具通过 `ITool` 接口统一管理,支持鼠标事件、Shift 约束、坐标裁剪和对称绘制。
### ⚙️ 渲染引擎
基于 **SkiaSharp** 的高性能渲染管线,采用**脏矩形更新**策略优化性能:
1. **棋盘格背景** — 透明区域以棋盘格显示
2. **图层合成** — 从底部向上逐层混合(处理不透明度和混合模式)
3. **像素网格** — 缩放 ≥ 400% 时显示辅助网格线
4. **蚂蚁线动画** — 选区边界的动态虚线效果
5. **对称轴指示** — 对称模式下显示辅助虚线
6. **光标预览** — 笔刷大小和位置预览提示
缩放范围 **0.5x ~ 32x**,支持平移和快捷键适配窗口/实际像素。
### ↩️ 命令系统与撤销重做
采用**命令模式**(Command Pattern),所有操作封装为命令对象,统一管理:
- **CommandHistory**:撤销/重做堆栈管理,上限 50 步
- **PixelDiffCollector**:像素级差异存储,只记录变化像素的原始值,节省内存
- **13 种命令类型**:绘制、图层管理、画布调整、选区操作、变换操作等
### 🎨 颜色管理
- **前景色 / 背景色**:快速切换和编辑
- **颜色历史**:记录最近使用的颜色
- **调色板**:内置预设调色板,支持自定义颜色
- **颜色编辑器**:高级颜色编辑对话框,精确调整颜色值
- **取色**:通过取色器工具从画布任意位置拾取颜色
### 💾 文件格式
| 格式 | 扩展名 | 说明 |
|------|--------|------|
| **PixelCraft 工程文件** | `.pxart` | JSON 元数据头 + Deflate 压缩的每层 RGBA 像素数据 + SHA256 完整性校验 |
| **PixelCraft 调色板文件** | `.pxpal` | JSON 格式存储颜色列表 |
| **GIMP 调色板** | `.gpl` | 支持导入 GIMP 格式的调色板 |
| **Paint.NET 调色板** | `.txt` | 支持导入 Paint.NET 格式的调色板 |
### 🤖 MCP 服务集成
**MCP(Model Context Protocol)** 是 AI 客户端与编辑器之间的标准化通信协议。PixelCraft Studio 内置完整的 MCP 服务支持:
- **传输方式**:支持 Streamable HTTP 和 SSE(Server-Sent Events)两种模式
- **监听地址**:`127.0.0.1:9800`
- **26+ 个远程工具**,涵盖:
- 画布管理(创建项目、查询信息、调整大小)
- 绘制操作(画像素、画线、画矩形、填充、擦除)
- 图层操作(添加/删除图层、设置属性、翻转/旋转)
- 选区操作(全选、取消选区、矩形选区、删除选区)
- 编辑操作(撤销、重做)
- 文件操作(保存/加载项目、导出图片)
- 设置操作(设置颜色、对称模式)
- **独立 MCP Server**:`pixelcraft-mcp.exe` 支持通过 stdin/stdout 通信,可集成到 Claude Desktop 等 AI 客户端
---
## 🖥️ 界面概览
```
┌─────────────────────────────────────────────────────────────────┐
│ 菜单栏: 文件 · 编辑 · 视图 · 帮助 │
├────┬────────────────────────────────────┬───────────────────────┤
│ │ │ │
│ 工 │ 画布编辑区域 │ 颜色面板 │
│ 具 │ (SkiaSharp Canvas) │ ────────── │
│ 条 │ │ 调色板 │
│ │ │ ────────── │
│ │ │ 颜色历史 │
│ │ │ ────────── │
│ │ │ 图层面板 │
│ │ │ ────────── │
│ │ │ 迷你地图 │
├────┴────────────────────────────────────┴───────────────────────┤
│ 状态栏: 坐标 · 缩放比例 · MCP 状态 · 操作提示 │
└─────────────────────────────────────────────────────────────────┘
```
- **左侧**:48px 宽工具条,包含 11 个工具按钮 + MCP 开关
- **中间**:SkiaSharp 硬件加速画布,支持缩放和平移
- **右侧**:可停靠面板,整合颜色、图层、调色板、迷你地图等
- **顶部**:文档标签栏(多标签页管理)和工具属性栏
---
## ⌨️ 快捷键一览
| 快捷键 | 功能 |
|--------|------|
| `Ctrl + N` | 新建画布 |
| `Ctrl + O` | 打开工程文件 |
| `Ctrl + S` | 保存工程文件 |
| `Ctrl + Shift + S` | 另存为 |
| `Ctrl + E` | 导出图片 |
| `Ctrl + Z` | 撤销 |
| `Ctrl + Y` | 重做 |
| `Ctrl + A` | 全选 |
| `Ctrl + D` | 取消选区 |
| `Ctrl + Shift + I` | 反选 |
| `Ctrl + X` | 剪切 |
| `Ctrl + C` | 复制 |
| `Ctrl + V` | 粘贴 |
| `Delete` | 删除选区内容 |
| `Ctrl + 0` | 适配窗口 |
| `Ctrl + 1` | 实际像素 |
| `Ctrl + Shift + G` | 显示/隐藏网格 |
| `Ctrl + Shift + T` | 平铺预览 |
| `Ctrl + Shift + H` | 水平翻转 |
| `Ctrl + Shift + V` | 垂直翻转 |
| `Ctrl + Shift + R` | 顺时针旋转 90° |
| `Ctrl + Shift + M` | 合并可见图层 |
| `P / B / E / G / I / M / W / V / U / O` | 切换工具 |
完整快捷键请参考需求文档中的附录。
---
## 🚀 快速开始
### 前置条件
- Windows 10 / 11(64 位)
- [.NET 8.0 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/8.0)
### 构建与运行
```bash
# 克隆仓库
git clone https://github.com/your-org/PixelCraft-Studio.git
cd PixelCraft-Studio
# 还原依赖
dotnet restore
# 运行主程序
dotnet run --project src/PixelCraft.UI
# 或者以 Release 配置编译
dotnet build -c Release
./src/PixelCraft.UI/bin/Release/net8.0-windows/PixelCraft.UI.exe
```
### 启动 MCP 服务(可选)
```bash
# 启动独立 MCP Server
dotnet run --project src/PixelCraft.McpServer
```
---
## 📁 项目结构
```
PixelCraft Studio/
├── src/ # 源代码
│ ├── PixelCraft.Core/ # 核心类库
│ │ ├── Models/ # 数据模型
│ │ ├── Commands/ # 命令模式实现
│ │ ├── Enums/ # 枚举定义
│ │ ├── Extensions/ # 扩展方法
│ │ ├── Helpers/ # 算法辅助类
│ │ └── Services/ # 服务
│ ├── PixelCraft.Tools/ # 工具系统
│ │ └── Tools/ # 11 种工具实现
│ ├── PixelCraft.Rendering/ # 渲染引擎
│ │ └── Renderers/ # 子渲染器
│ ├── PixelCraft.FileFormat/ # 文件格式
│ ├── PixelCraft.Mcp/ # MCP 协议服务
│ │ ├── Protocol/ # JSON-RPC 协议类型
│ │ └── Tools/ # MCP 远程工具
│ ├── PixelCraft.McpServer/ # 独立 MCP 主机
│ └── PixelCraft.UI/ # WPF 主界面
│ ├── ViewModels/ # MVVM 视图模型
│ ├── Controls/ # 自定义控件
│ ├── Converters/ # 值转换器
│ ├── Dialogs/ # 对话框
│ ├── Windows/ # 辅助窗口
│ └── Rendering/ # UI 层渲染辅助
├── tests/ # 测试项目
└── PixelCraft.slnx # 解决方案文件
```
---
## 🧑💻 开发指南
### 编码规范
- 遵循 **MVVM 架构**,使用 `[ObservableProperty]` 和 `[RelayCommand]` 源生成器
- 枚举统一添加 `[DescriptionAttribute]` 中文描述
- 项目中已配置 `.editorconfig` 和代码分析规则
- 核心逻辑均编写单元测试(位于 `tests/` 目录)
### 运行测试
```bash
dotnet test
```
### 构建发布
```bash
dotnet publish src/PixelCraft.UI -c Release -o publish
```
---
## 📄 许可证
本项目基于 **MIT 许可证** 开源。
---
**PixelCraft Studio** — 让像素艺术更简单、更强大、更智能
⭐ 如果这个项目对你有帮助,欢迎 Star 支持!