跳过主要内容

PhotoCraft v0.12.0 更新:PSD 颜色模式、DDS 存储与 Windows 手写笔修复

PhotoCraft v0.12.0 可按原模式存储索引颜色、位图和双色调 PSD,PSD 中可对应 41 种智能滤镜,新增 DDS 存储,并修复 Windows 上手写笔、打印和启动的问题。

v0.12.0发布于 2026 年 10 月 21 日GitHub 上的官方发布说明

v0.12.0 于 2026 年 10 月 21 日发布,距 v0.11.1 只隔了一天。官方更新日志列出了 105 个合并的 PR,来自 28 位贡献者,其中 7 位是第一次参与。其中有三条是“集成批次”,一次合并了 120 个 PR(#8094、#8095、#8271),它们大多在日志里另有单独一行;两边合起来算,这一版共合入 127 个 PR。README 里的工具数仍是 67 个。这一版比前几版小:索引颜色、位图和双色调文档可以按原模式存成 PSD,更多 Photoshop 的 PSD 数据能正确写回,可以存储 DDS 纹理,还修复了 Windows 上手写笔、打印和启动的几个问题。其余大多是裁剪、自动化和 PSD 文件方面的小修复。PhotoCraft 仍处于早期 alpha 阶段,使用中难免遇到问题。

更新日志开头是项目自己的“记分卡”,把 Photoshop 的各项功能按“已完成 / 部分完成 / 缺失”来统计。与 v0.11.1 相比,工具类 44 项中已完成 36 项(原为 33 项),文件兼容类 27 项中已完成 9 项(原为 7 项);文字类 9 项中已完成 5 项,缺失从 2 项减到 1 项;工作区与界面类有一项从“缺失”变为“部分完成”;跟踪中的 32 个未解决 bug 里已有 31 个完成。这些变化有的是新做的功能,比如内容感知移动对大选区的预览;有的只是让记分卡跟上应用里早已有的功能,例如“文字变形”的实时预览,其实 10 月初就已经有了(#3516)。171 项首选项中仍有 24 项不起作用;性能数据没有变化:3 个场景在预算之内,22 个超出预算。日常使用中和 Photoshop 比起来怎么样,见 PhotoCraft 与 Photoshop 对比。

主要变化

  • 索引颜色、位图和双色调 PSD 保持原模式:索引颜色文档会存成带颜色表和透明色的索引 PSD,位图文档存成 1 位 PSD。这两种都按 Photoshop 的做法拼合后写入。导入的双色调文件写回时仍是双色调。PR 作者用 Photoshop 2025 打开过测试生成的索引和位图文件,都保持了原来的模式(#4816)。
  • PSD 经过 PhotoCraft 后保留得更完整:现在有 41 种智能滤镜能按 Photoshop 自己的 PSD 数据读取和写入(原来是 14 种)。带拆分(“quilt”)变形的置入图层在“替换内容”后仍保持弯曲(#6913),以 HSB 存储的颜色不再变黑或丢失(#6775)。在 PhotoCraft 里编辑或新建的文字图层现在会得到完整的文字对象;在 PR 的测试中,以前会让 Photoshop 一打开就崩溃的文件现在能正常打开了(#7220、#7773)。
  • 可以存储 DDS 纹理:“另存为”可以写出未压缩的 DDS,或 BC1、BC2、BC3(DXT1、DXT3、DXT5)压缩格式,并可选择生成 Mipmap。DDS 从 v0.9.0 起就能打开,现在纹理编辑后可以直接存回 DDS(#5993)。
  • Windows 上手写笔、打印和启动的修复:使用 Windows Ink 时,笔杆按钮可以当右键用,按住 Alt 再用笔杆按钮拖动会调整画笔大小,而不是画出一笔(#6195)。打印对话框里有了“纵向”和“横向”按钮(#7847)。在缺少 Windows.Data.Pdf.dll 的 Windows 上(例如精简过的系统,或部分 N 版、LTSC 版镜像),PhotoCraft 也能启动了(#6395)。
  • 画笔:可以导入最大 1 GiB 的 .abr 文件,原来上限是 512 MiB(#7180);混合器画笔有了“载入画笔”和“清理画笔”,每次描边后的自动载入和清理也可以关掉(#6939);图案图章和背景橡皮擦在拖动时就能实时画出效果(#3759)。画笔的更多内容见画笔指南。
  • 内容感知移动可以预览大选区:超过 256 × 256 像素的选区会先显示一个粗略结果,再显示精确结果。以前只有小选区才有预览(#6681)。
  • 十亿像素级文档:新建一个 31 亿像素的文档(200 ppi 下 10 × 5 米)不会再让应用卡死:在 PR 的测试中,CPU 画布上的首次重绘不到半秒,以前要大约 23 秒(#5111)。
  • 历史记录面板菜单:历史记录面板有了 Photoshop 那样的菜单,包含“前进一步”“后退一步”和“清除历史记录”(#3534);点击每个状态左侧的一栏,可以把它设为历史记录画笔的源(#3536)。

新工具与新功能

  • 绘画与修饰:混合器画笔的选项栏里显示“当前画笔载入”色块,它的菜单中有“载入画笔”和“清理画笔”,另有两个开关控制每次描边后是否载入、是否清理。清理过的画笔只会画出它沾取到的颜色(#6939)。图案图章(对齐或印象派效果)和背景橡皮擦会实时绘制,松开后留下的像素与拖动时看到的完全一样;污点修复画笔在拖动时用深色覆盖层显示要修复的区域,松开后再修复,与 Photoshop 一致(#3759)。现在只剩混合器画笔还没有实时预览。执行裁剪、画布大小、图像大小或翻转、旋转画布之后,绘画对称轴会留在同一处图像内容上(#7733)。
  • 内容感知移动:在 PR 用 2400 万像素图像做的测试中,1500 × 1000 像素的选区 0.38 秒就出现粗略结果,约 4 秒后显示精确结果(#6681)。见工具列表。
  • 形状与颜色模式:形状图层可以在属性面板里设置“浓度”和“羽化”,并保存在 PSD 和 .pcraft 文件中(#5847)。图像 › 模式 › 位图 会打开 Photoshop 那样的完整对话框,包括输出分辨率、全部五种方法(含“自定图案”)和实时预览(#5889)。
  • 图层与路径:图层面板底部的文件夹按钮会把所有选中的图层编进一个组,而不是新建一个空组(#7225);“向下盖印”会保留下方图层的剪贴、颜色标签和链接(#7001);“应用图像”可以写入当前选中的图层蒙版(#6781)。在路径面板中选中的已存储路径会画在画布上(#6708),路径行可以拖到垃圾桶上删除(#6721),钢笔画完的路径会继续显示锚点方块(#6920)。
  • 移动与缩放:打开智能参考线后,用移动工具按住 Ctrl/⌘ 悬停在另一个图层上,会用洋红色线条显示到它的距离;悬停在空白画布上则显示到画布边缘的距离(#6357)。打开 首选项 › 常规 › 动画缩放 后,按住缩放工具不放会连续放大,加按 Alt 则连续缩小(#6211)。
  • 导出:“导出为”新增“重新采样”菜单,提供 Photoshop 的六种方法,其中包括适合像素画、能保持硬边的“最近邻”(#5840)。在“存储为 Web 所用格式”中,被后面切片盖住的切片会按 Photoshop 的方式拆成看得见的几块导出,重叠部分不再写两次(#7771)。
  • 文字:文字图层重新渲染和保存时会保留上标、下标;字符面板里暂时还没有对应按钮(#5807)。对点文字,段落面板会把两端对齐按钮变灰(#7728)。
  • Windows 上的打印:“方向”一栏会直接旋转打印机驱动的设置,纸张信息和预览也跟着转。按横向排版、而驱动设置是纵向的打印任务(例如来自脚本),现在会自动旋转,而不是被拒绝(#7847)。
  • 首选项:每种绘画工具重启后都会保留自己的画笔,恢复的工具选项会被限制在选项栏允许的范围内(#6213)。首选项 › 文件处理 中的“后台存储”现在真正生效:关闭后,保存会在前台进行并显示进度对话框(#6208)。在装有多块 GPU 的 Linux 电脑上,首选项 › 性能 里可以选择“GPU 适配器”,下次启动时生效(#7813)。
  • 速度:使用大画笔时,模糊工具和锐化工具快了 2.6 到 3.3 倍(#5499);在 PR 用 M4 Pro 做的测试中,含许多满画布图层的文档在 GPU 上合成只需 28 毫秒(原来 111 毫秒),在 CPU 上从 627 毫秒降到 485 毫秒(#7566);拖动 Camera Raw 滑块时对话框不再卡住(#6909);取消高斯模糊后 44 毫秒内就会停下(#6206);CMYK 文档上的画笔笔触现在符合项目的耗时预算(#5110)。

文件格式

  • PSD 颜色模式:索引颜色会保留颜色表、透明色、ICC 配置文件和 Alpha 通道;位图按每像素 1 位、在白底上拼合后写入。在 Photoshop 里这两种模式都没有图层,所以多于一个图层的文档会被拼合,并给出警告。在 PhotoCraft 里新建的双色调文档仍然存成灰度并给出警告,因为写入它的油墨设置需要一个未公开格式的数据块(#4816、#8095)。
  • PSD 中的智能滤镜:新对应的滤镜包括智能锐化、蒙尘与划痕、风、凸出、拼贴、表面模糊、特殊模糊、径向模糊、位移、自定、铜版雕刻、彩色半调、扩散、等高线、晶格化、点状化,以及“查找边缘”“曝光过度”这类没有选项的滤镜。色相/饱和度和透视变形智能滤镜也能往返保存。PhotoCraft 无法对应的滤镜仍按原样保留。集成批次没能在 Photoshop 里打开这些写出的文件,所以这部分在 Photoshop 中还算未经验证(#8271)。
  • 置入图层:拆分变形会读成多块网格,存储时写回 Photoshop 的 quiltWarp;超过 64 块上限的会存成“无变形”,并给出警告(#6913)。
  • PSD 中的文字:编辑过的文字图层会保留它自己的文字对象,不再换成一个被删减的空壳(#7220);新建的文字图层会得到完整的对象和自己的文本框,旧版本存坏的文件重新保存一次就能修好(#7773)。编辑导入的文字时,字体记录也会保留下来(#6169)。从 v0.6.0 起的每个版本都会写入那个空壳,所以新增或改动过文字图层的 PSD 可能会让 Photoshop 崩溃。
  • 其他 PSD 和 PSB 修复:PSB 中长度为 8 字节的全局数据块改用 8B64 签名,Photoshop 因此能打开这些文件(#7948);填充、描边和渐变色标中以 HSB 存储的颜色可以读取了(#6775);色相/饱和度调整图层能正确导出(#7066);杂色渐变填充只在颜色恒定这种简单情况下能渲染(#6272);未知类型的调整图层会作为“不支持的调整”打开(#6722)。
  • DDS 写入:未压缩的 RGBA、RGB、灰度和带 Alpha 的灰度都是无损的;BC1 到 BC3 使用 PhotoCraft 自己的块编码器。“DDS 选项”对话框会询问压缩方式和是否生成 Mipmap,动作会记录这个选择(#5993)。
  • GIF:索引 GIF 会以“索引颜色”模式打开并保留颜色表,与 Photoshop 一致。作为视频图层打开的动画 GIF 不受影响(#7892)。
  • 批处理:格式选“相同”时,相机 RAW 以及其他 PhotoCraft 能读不能写的格式会存成 PSD,而不是失败(#5857)。

各格式能否打开、保存,详见文件格式指南。

界面语言

界面语言仍是 21 种。这一版新对话框(例如“DDS 选项”、位图对话框和历史记录面板菜单)里的新标签,在全部 20 个翻译目录中都有对应条目。其中一些是 PR 作者自己翻译的,还没经过母语者审校,“GPU 适配器”这个标签就是一例(#7813)。设置方法见界面语言指南。

自动化(CLI 与 MCP)

  • 当动作(或它调用的动作)里录有“存储”“存储为”或缩放步骤时,photocraft-cli batch --actions 不会再让每个文件都失败。和 Photoshop 的批处理一样,这些步骤由批处理自己的输出设置代替(#6861)。
  • 通过 edit.keyboardShortcuts 的 useSet 切换快捷键组时,分配给动作的功能键会保留下来(#7005)。删除动作时会一并删除它的功能键(#7015),重命名动作时,调用它的条件步骤也会跟着更新(#6773)。见快捷键指南。
  • 新的历史记录命令:history.setSource 把历史记录画笔的源设为某个状态或快照(#3536),history.stepForward、history.stepBackward 和 history.clear 对应面板菜单里的命令(#3534)。
  • doc.save 收到不是 1 到 100 之间整数的 quality 时会直接报错,不再忽略或强行截断(#7024)。带 index 调用 doc.place、doc.exportLayers、doc.exportDataSets 和 doc.importDataSets 时,不会再改变当前活动文档(#7026)。
  • 用带条件步骤的动作创建快捷批处理(Droplet)时,会一并带上条件步骤调用的动作(#6805);导入的裁剪步骤如果录制时用的不是像素单位,不会再被当成像素来执行(#7085)。动作的更多内容见动作指南。
  • 新参数:存储类命令的 ddsCompression 和 ddsMipmaps,以及 convert、run、batch 的 --dds-compression 和 --dds-mipmaps(#5993);file.print.page 的 orientation(#7847);layer.exportAs 的 resample(#5840);新命令 brush.mixer.load 和 brush.mixer.clean(#6939)。

配置和示例见 MCP 与 CLI 指南。

网页版

本站的在线编辑器运行的就是 v0.12.0 网页版。发布包中的网页版压缩包为 11,714,509 字节(11.2 MiB),v0.11.1 是 11,567,210 字节。

从 v0.10.0 起,网页版不再把整个应用打包成一个大的 .wasm 文件(#5941)。压缩包里有一个用来启动应用的小型引导模块(photocraft-web-boot-*_bg.wasm,98,880 字节,加上它的 .js,26,999 字节)、应用的胶水代码 app/photocraft-web.js(174,109 字节)、分块清单 app/parts.txt,以及经过 gzip 压缩的应用本体 app/photocraft-web-*.part-aa(11,614,932 字节,11.1 MiB)。解压后应用本体为 25,412,487 字节(24.2 MiB),v0.11.1 是 25,060,526 字节。

  • 对访问者来说:无论服务器是否开启压缩,浏览器下载应用本体都只需约 11.1 MiB。v0.10.0 之前,在不开压缩的服务器上要下载一个 23.9 MiB 的 .wasm 文件。
  • 自行部署时:要上传整个文件夹,包括 app/ 目录。.part-* 文件要按原样逐字节提供,不要再加你自己的 Content-Encoding;index.html、app/photocraft-web.js 和 app/parts.txt 要设置 no-cache。压缩包里附带的 _headers 和 .htaccess 已经这样配置好了。网站里没有超过 24 MiB 的文件,所以 Cloudflare Pages 这类单文件上限为 25 MiB 的托管服务也能接受。
  • Apache:在启用了 mod_mime_magic 的 Apache 上,v0.10.0 和 v0.11.1 网页版无法启动,因为该模块会给 gzip 分块加上压缩标记,浏览器在下载途中就把它解压了(#7639)。v0.12.0 在这种服务器上可以正常启动(#7683)。前提是应用本体只有一个分块,目前正是如此。
  • 网页版仍然无法显示中文。 文字图层和界面中的中日韩文字都会显示成空白方框(#1615,仍未解决)。需要处理中文文字时,请使用桌面版。
  • 只有桌面版才有的:内容感知移动的预览,因为网页版不支持多线程。在浏览器里导入 .abr 的上限仍是 512 MiB(#7180)。

自行部署的方法见网页版页面。

问题修复与稳定性

  • Windows:缺少 Windows.Data.Pdf.dll 时 PhotoCraft 不会再无法启动;这个 DLL 现在只在打印 PDF 时才加载,缺少时会提示具体缺了什么(#6395)。窗口最大化时,自动隐藏的任务栏可以正常弹出(#6878)。剪贴板被占用时,复制的可编辑图层不会再被丢掉(#5587)。装有 Intel 显卡时,“自动”图形设置会直接用 DirectX 12 启动,不再加载可能让首次启动崩溃的 Intel Vulkan 驱动(#7217)。
  • macOS:由字体管理器、Adobe Fonts 或 Office 在字体文件夹之外激活的字体,现在也会出现在字体菜单里(#6693)。
  • 大文档:GPU 放不下特别大的画布时,PhotoCraft 会改用 CPU 画布绘制,而不是在整个会话中停用 GPU(#5111)。这项修复没有在 Mac 上测试过。超过 2^30 像素的文档执行“裁切”和合并方式的“复制”时会报错(#7224)。
  • 颜色:GPU 画布上接近黑色的颜色与显示器配置文件更吻合了(#7964)。
  • 裁剪与透视裁剪:有十几项修复,包括裁剪框的撤销和重做、输入的比例、“拉直”算作一步、颜色取样点跟随裁剪移动,以及索引颜色文档改用“最近邻”重新采样(#7089、#7753、#7128、#7013、#7723)。
  • 界面:关闭 视图 › 吸附 后,智能参考线的吸附也会关闭(#5803);隐藏辅助内容后新建的选区仍会显示(#6222);还没录制动作时“批处理”是灰色的(#6711);“从文件新建视频图层…”和“替换素材…”会打开文件选择框,而不是直接失败;时间轴的“停止”按钮第一次按下暂停,再按一次回到开头(#3223)。
  • 健壮性:数据不一致或恶意构造的拆分变形和 GIF 颜色表会被拒绝,不会导致崩溃(#6913、#7892);填充图层会拒绝非有限值的渐变和图案角度(#5753)。

更多已知问题和解决办法见故障排查指南。

升级前需要知道的变化

  • 没有 FreeBSD aarch64 版本了。 这个在 v0.11.1 才首次出现的压缩包又没有了:Craft 系列应用共用的发布流程暂时去掉了这个平台,等它能在时限内构建完成再恢复(craft-common-actions#40)。FreeBSD x86_64 版本仍然提供。
  • 索引颜色和位图 PSD 是拼合的。 把这类文档存成 PSD 时,图层会被合并,与 Photoshop 一致。需要保留图层的话,请另存一份 .pcraft 或 RGB 副本(#4816)。
  • “键盘快捷键”对话框仍可能丢掉动作的功能键。 这次的修复只覆盖通过 edit.keyboardShortcuts 切换快捷键组的情况。按集成批次自己的测试,在对话框里切换快捷键组时,动作的功能键仍会丢失(#8271)。
  • 自动化检查更严格。 给 doc.save 传 85.0 或 "85" 这样的 quality 现在会报错(#7024);带 index 的调用不会再把那个文档留作活动文档(#7026)。
  • 装有 Intel 显卡的 Windows 电脑在“自动”设置下改用 DirectX 12,不再使用 Vulkan;同时装有独立显卡的笔记本仍会优先用独立显卡,但同样运行在 DirectX 12 上。PR 作者手头没有 Intel 硬件可以测试。在首选项里选定的后端、WGPU_BACKEND 和 --safe-gpu 仍然有效(#7217)。
  • Windows 7 和 8:PhotoCraft 仍然需要 Windows 10 或更新版本(#2310),v0.12.0 的 MSI 安装包依然不会检查系统版本。

如何升级

前往下载页获取 v0.12.0:Windows、macOS、Linux 或网页版。这次发布共 28 个文件,比 v0.11.1 少一个:photocraft-0.12.0-freebsd-aarch64.tar.gz 没有了,其余文件都还在,包括 Arch Linux 的 .pkg.tar.zst 软件包和 SHA256SUMS.txt。请只从官方 GitHub Release 下载,不要使用第三方镜像或转载的安装包。如果你是从 v0.10.0 或更早的版本升级,也请看看 v0.11.1 的更新说明。

完整更新日志(含全部合并的 PR):GitHub 上的 PhotoCraft v0.12.0。