侧边栏壁纸
博主头像
离开的兔子

行动起来,活在当下

  • 累计撰写 40 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Photoshop 又贵又重?这个 3.5 万 Star 的开源项目想用 Rust 重写一遍

Administrator
2026-10-17 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

Linux 上想改个 PSD,翻遍软件商店也没几个能正经读图层的;换台电脑想装个正版,授权又是一笔钱。

订阅制这几年更让人纠结:一个月用不了几次,钱却一分不少交。

所以每隔一阵就会冒出个“开源版 PS”。多数做几个月就停更,或者做出来只是个能画线的画板,图层、蒙版一概没有,更别说打开你手上那堆 PSD。

今天这个项目不太一样,它一上来就冲着 PSD 文件去。

它到底是什么

PhotoCraft,仓库在 storytold/photocraft,属于 ArtCraft 这个项目。

一句话描述:用纯 Rust 从零重写了一个 Photoshop。

“从零”不是营销词。项目自称 clean-room reimplementation(净室重实现),意思是开发过程中不接触 Adobe 的源码,完全独立实现——这也是规避版权问题的常规做法。

代码 100% Rust,没有混 C++,也没有套一层 Electron。官方标称支持 macOS、Windows、Linux、FreeBSD,另外还给了 Web 版本。

截至文章整理时,GitHub 上大约 3.5 万 Star,MIT / Apache-2.0 双许可。

但有个前提必须先说:项目当前状态是 early alpha。

三个我认为真正值得看的地方

1. 它认 PSD,不是只认自己的格式

很多开源图像工具的套路是“你先导出 PNG 再进来”。PhotoCraft 直接把 PSD 当工作格式,图层、蒙版、调整图层、图层样式都在支持清单里。

这点其实最关键。真正卡住人换工具的,往往不是功能少,是历史文件打不开。

2. 纯 Rust 写原生应用

这是个很硬的选择。Rust 的 GUI 生态算不上成熟,渲染、文字排版、画笔引擎这些基本得自己啃。

好处是跨平台一致性好、内存安全、不依赖 WebView,理论上启动和响应会更利索。代价是开发慢,功能补齐的周期会很长。

3. 功能面铺得不窄

按项目介绍,图层、蒙版、调整图层、图层样式、文字、矢量、画笔这几块都有。至少不是一个只能画线涂色的 demo。

当然,“有”和“好用”是两码事,这点后面细说。

项目信息

| 项目 | PhotoCraft(ArtCraft) | | --- | --- | | GitHub | github.com/storytold/photocraft | | 技术栈 | 100% Rust | | License | MIT / Apache-2.0 | | 运行环境 | macOS / Windows / Linux / FreeBSD / Web | | 项目状态 | early alpha | | 适合人群 | Linux 用户、Rust 开发者、想折腾开源图像工具的人 |

想试的话,怎么开始

最省事的路子是从官网 getartcraft.com 走,上面有 apps 下载入口,按自己的系统选对应版本。

不想装软件,可以先从 Web 版本进,浏览器里点开就能摸手感,觉得合适了再考虑本地装。

想自己编译的话,本地得有 Rust 工具链,然后照仓库 README 的说明构建。具体命令我这儿不写死,项目还在快速变动,目录结构和构建方式随时可能调整,照 README 走最稳。

第一次打开,别拿重要文件试。

几个必须提前讲清楚的坑

第一,early alpha 不是谦虚的说法。这个阶段,功能缺失、偶发闪退、接口变动都很正常,今天能开的文件下个版本未必还能开。

第二,别用唯一的原始文件去试。打开前先复制一份。这不是玩笑,早期版本里保存逻辑出问题的概率,往往比打开还要高。

第三,PSD 兼容性大概率是分层的。简单的多图层文件应该问题不大,但智能对象、复杂的图层效果、特殊字体的还原度,项目没给兼容性矩阵,只能自己验证。

第四,现在不适合压生产流程。除非你是研究代码,或者纯粹玩票。

谁适合,谁可以先等等

适合:

  • 在 Linux 上长期工作,一直缺一个能碰 PSD 的工具
  • 对订阅制敏感,愿意用功能不完整换免费和离线
  • 写 Rust,想看看别人怎么用 Rust 做大型桌面应用
  • 想研究图像编辑器的图层和合成模型怎么组织

先别急:

  • 靠 Photoshop 吃饭的设计师,现在切过去会耽误正事
  • 需要和 Adobe 生态(Camera Raw、云文档、字体库)配合的人
  • 完全不想折腾、只想装完就用的人

如果是我,会重点看哪里

界面好不好看其实排在后面,我会盯三块:

一是 PSD 解析层。PSD 格式本身很复杂,分块存储、多种压缩方式混用,这部分代码质量基本决定了项目能走多远。

二是图层合成和渲染管线。调整图层、图层样式说到底是合成运算,这块的设计决定性能和后续扩展能力。

三是 Rust 做 GUI 的取舍。用的什么渲染方案、文字排版怎么处理、跨平台差异怎么抹平,这几个问题单拎一个出来都不轻松。

最后

这个项目现在肯定替代不了 Photoshop。谁要说能,那大概是没打开过图层结构复杂的 PSD。

但它指的方向是对的:图像编辑这块,开源一直是个缺口,而 PSD 又是事实上的行业格式。

如果你只是想在 Linux 上改改图,或者对 Rust 做桌面应用有兴趣,从 Web 版本点进去看看,成本最低。

如果你手上正好有一批 PSD 文件,那更值得花十分钟试一次——打开看看有没有丢图层,比看十篇介绍文章都直接。

你平时用什么替代 Photoshop?评论区聊聊,这类项目我后面接着整理。


适合做封面的短标题:

  1. 用 Rust 重写 Photoshop
  2. 能打开 PSD 的开源 PS
  3. 开源 PS 到底能不能用

推荐标签:

#开源项目 #GitHub #Rust #PSD #图像编辑 #效率工具 #程序员

本期项目

storytold/photocraft
0

评论区