storytold

PhotoCraft 是一款用纯 Rust 编写的开源桌面图像编辑器,支持图层、蒙版、文字、矢量与真实 PSD 文件,可离线完成修图。

v0.23.1
发布于
1 天前
78,940
星标
1,394,969
下载
同步于
23 小时前

最新版本

v0.23.12026年11月12日 13:07
下载慢?可在上方随时切换镜像源

项目说明

项目概述

PhotoCraft 是一款给摄影师、修图师与设计人员用的桌面图像编辑器,主要解决在离线环境下处理带图层、蒙版与真实 PSD 文件的修图需求。整套程序用 Rust 从零实现,文档模型、命令引擎与 egui 界面分层,画布由 wgpu 在 Metal、Vulkan、DX12 或 WebGPU 上合成,同一套代码也能编译成 WebAssembly 在浏览器中运行。快捷键沿用 ⌘J、⇧⌘D 这类 Photoshop 习惯,菜单与面板位置也按熟悉的方式排布。

项目 内容
平台 macOS、Windows、Linux、FreeBSD、Web
语言 Rust,edition 2024,最低 1.95
版本 0.20.1
组成 24 个 crate,68 个工具
许可 MIT 或 Apache-2.0

图层、蒙版、文字、矢量与 PSD 都在一个原生程序里,不套 Electron 外壳。

主要功能

  • 调整图层:16 种调整图层,含按通道编辑的 Curves、带实时直方图的 Levels、Black & White、Channel Mixer、Gradient Map 等,可加蒙版、调顺序、随时关闭
  • 图层样式:投影、内阴影、外发光与内发光、斜面和浮雕、缎面、描边与颜色/渐变/图案叠加,可复制粘贴到其他图层
  • 选区与蒙版:矩形、椭圆、单行、单列选框与套索、魔棒,以及 Quick Selection、Object Selection、Select Subject 与 Select and Mask 边缘细化
  • 文字排版:点文字与段落文字在画布上直接编辑,字符与段落面板控制字体、字重、字号、行距、字距、对齐与颜色
  • 矢量形状:矩形、椭圆、三角形、多边形、直线与钢笔、自由钢笔、曲率钢笔,形状图层可做并集、差集、交集、排除
  • 滤镜:模糊、锐化、降噪、扭曲、像素化、风格化与渲染类,所有对话框按选区在画布上实时预览
  • 智能对象:智能滤镜与无损变换,滤镜参数可随时修改、隐藏、重排或加蒙版
  • 历史与变换:完整历史面板、History Brush、Free Transform 的缩放、旋转、斜切、扭曲与透视
  • 色彩管理:RGB、灰度、CMYK、Lab 文档,8/16/32 位每通道,ICC 配置文件指定与转换、软打样 ⌘Y
  • 格式读写:PSD/PSB、分层 TIFF、OpenRaster、GIMP XCF、Krita .kra、Paint.NET PDN3、SVG,以及 PNG、JPEG、WebP、GIF、OpenEXR、FITS 等平面格式与自有 .pcraft

编辑工作流

  • 打开文档:photocraft image.psd 启动桌面版并直接载入文件,图层与文字保持可编辑
  • 非破坏调整:先在图层上叠 Levels 与 Curves,再用蒙版限定范围,原始像素不变
  • 选区转蒙版:任意选区可一键变成图层蒙版、矢量路径或形状
  • 提交前预览:滤镜参数在画布上按选区实时预览,确定后再写入图层
  • 步进回退:历史面板按步记录,可回到任意一步,甚至单笔撤销

文件与格式

  • PSD 往返:重存后在 psd-tools 测试集的 309 个文件中 307 个渲染一致,未建模的原始块会原样保留
  • 形状精度:自有 PSD 语料中 116/116 个形状图层与 Photoshop 像素一致
  • 大文档:PSB、16 位与 32 位、CMYK 与 Lab 文档均可原生打开
  • 只读格式:iPhone 与 Mac 的 HEIC 照片、Affinity 的 .af/.afdesign/.afphoto/.afpub 可打开查看,不写回
  • 写出限制:AVIF 需可选 avif 构建特性才能写出,AVIF 解码与 JPEG XL 尚不支持

适用人群

  • 需要离线修图并保留图层的摄影师
  • 从 Photoshop 迁移、不想重学快捷键的设计师
  • 需要把修图步骤脚本化的自动化工程师
  • 在 Linux 或 FreeBSD 上工作的图像处理用户

快速上手

桌面安装

  1. macOS 取 photocraft-0.20.1-macos-universal.dmg,打开后拖入 Applications
  2. Windows 取 photocraft-0.20.1-windows-x64.msi,或直接用便携 zip
  3. Linux 可选 AppImage、.deb、.rpm、Flatpak 或 tarball,Flatpak 包名为 ai.storyteller.photocraft

从源码运行

  1. 准备 Rust 1.95 或更新版本
  2. 执行
cargo run --release -p photocraft -- image.psd
  1. 日文字体可把 CRAFT_FONTS_DIR 指向 craft-fonts 目录,不设置则回退到系统 CJK 字体

命令行与自动化

  1. 用一条命令完成打开、滤镜与导出
photocraft-cli run wave.psd --cmd filter.sharpen.smartSharpen --params '{"amount":80}' --out wave-final.png
  1. 批量套用动作:photocraft-cli batch --actions grade.json --in ./raw --out ./graded
  2. 以 MCP 方式供代理调用:photocraft-cli mcp

系统要求

项目 要求
操作系统 macOS、Windows、Linux、FreeBSD 14
架构 x86_64、aarch64、Windows arm64;RISC-V 仅有 Linux tarball,需 glibc 2.39 以上
图形后端 wgpu:Metal、Vulkan、DX12、WebGPU
源码构建 Rust 1.95 以上,24 个 crate 的工作区
浏览器版 WebAssembly,可托管在任意静态服务器

注意事项

  • 仍处早期阶段:AI 生成类功能、约 15 个工具以及排版深度与插件兼容仍缺失,日常专业修图需自行评估
  • Wayland 拖放:Linux Wayland 会话下把文件拖入窗口暂不生效,可改用 File › Open 或按 Ctrl+V 粘贴
  • XWayland 缩放:125%、150%、175% 分数缩放下 XWayland 窗口会被放大而变模糊,原生 Wayland 才清晰
  • PSD 非字节一致:重存的 PSD 会重写图像资源、图层记录与合成图,只有独立的 photocraft-psd crate 能逐字节复现部分文件
  • 品牌不在许可内:代码为 MIT 或 Apache-2.0 双许可,ArtCraft 名称与图标需按单独条款使用

历史版本

排序