跳过主要内容

用 PhotoCraft 打开 GIMP 的 XCF 文件,把 XCF 转成 PSD

不装 GIMP 也能打开 .xcf:免费的 PhotoCraft 能读出图层、图层组、蒙版和混合模式,并把 XCF 转成 PSD、PNG 或 OpenRaster,单个文件和整个文件夹都行。

非官方社区指南更新于 2026 年 10 月 27 日

一句话回答:不装 GIMP 也能打开 .xcf。从 v0.13.0 起,PhotoCraft 能打开 GIMP 1.x 到 3.2 保存的 XCF 文件(包括 gzip 压缩的 .xcf.gz),图层、嵌套图层组、图层蒙版、混合模式、额外通道和存储的选区都能带过来(#2945)。不过只能读、不能写,PhotoCraft 存不了 XCF。要把 XCF 转成 PSD,打开后用 文件 › 另存为…(Save As…)即可,对 XCF 文档它默认就建议存成 PSD。文字图层、矢量图层和链接图层会变成普通像素,GIMP 3 的非破坏性滤镜和路径不会导入,打开时弹出的警告会逐项说明。本文以 v0.16.0(2026 年 10 月 25 日)为准,这个版本还修好了一个问题:带链接图层的 XCF 在 v0.13.0 到 v0.15.1 里打不开(#8865)。

Photoshop 本身打不开 .xcf,所以 PhotoCraft 也是把 GIMP 作品交给 Photoshop 用户的一个免费中转站。可以在下载页下载,也可以直接用浏览器打开在线编辑器试试。

能打开什么

这个读取器是 PhotoCraft 自己写的,依据 GIMP 公开的 XCF 规范,并用 GIMP 3.2.6 保存的文件做过对照,参照物是 GIMP 自己合并渲染出的结果。代码里没有用到 GIMP 的代码。

版本、位深和压缩

GIMP 文件在 PhotoCraft 里
XCF 版本 0 到 26(GIMP 1.x 到 3.2)能打开。更新的版本也能打开,但会提示,读取器不认识的部分会跳过
GIMP 2.10 和 3.x 的文件能打开。真实文件测试用的是 GIMP 3.2.6;更早的版本靠按规范构造的测试文件覆盖
8 位整数8 位/通道
16 位整数16 位/通道
32 位整数16 位/通道,有提示
16 位(半精度)、32 位、64 位浮点32 位/通道浮点,超过 1.0 的值保留
线性光精度指定线性 sRGB(或线性灰度)配置文件,文件自带的配置文件会被替换,有提示
RGB、灰度保持 RGB 或灰度
索引颜色按颜色表转成 RGB 打开,有提示
不压缩、RLE、zlib 的图块都能打开
.xcf.gz(或 .xcfgz)能打开。.xcf.bz2 和 .xcf.xz 不行,要先解压

PhotoCraft 按文件开头的签名识别 XCF,所以改了扩展名的 XCF 照样能当 XCF 打开。

图层

GIMP 里PhotoCraft 里
任意大小和位置的像素图层(包括超出画布的)位置不变的像素图层
嵌套的图层组;Pass through 图层组图层组;穿透(Pass Through)图层组
名称、可见性、不透明度保留
图层蒙版(应用或停用)图层蒙版,启用或停用状态不变
锁定 Alpha、锁定像素、锁定位置锁定透明像素(Lock transparent pixels)、锁定图像像素(Lock image pixels)、锁定位置(Lock position)
没有 Alpha 通道的图层打开 锁定透明像素 的图层
颜色标签图层颜色。GIMP 的棕色标签没有对应颜色,会被丢掉
文字图层像素,有提示,文字不能再编辑
矢量图层和链接图层(GIMP 3.2)像素,有提示
图层上的非破坏性滤镜(GIMP 3)不应用:图层以未加滤镜的样子打开,有提示
浮动选区不导入,提示你先在 GIMP 里锚定
GIMPhoto 保存的剪贴图层剪贴蒙版

混合模式

GIMP 现行的模式和旧版(legacy)模式都会映射到 Photoshop 的模式,也就是 PhotoCraft 用的那一套。GIMP 一栏保留英文名。

GIMP 模式PhotoCraft 模式
Normal、Dissolve、Multiply、Screen、Overlay、Difference、Darken only、Lighten only、Divide、Hard light、Vivid light、Pin light、Linear light、Hard mix、Exclusion、Linear burn、Subtract对应的同名模式:正常、溶解、正片叠底、滤色、叠加、差值、变暗、变亮、划分、强光、亮光、点光、线性光、实色混合、排除、线性加深、减去
Addition线性减淡(添加)(Linear Dodge (Add))
Dodge、Burn颜色减淡(Color Dodge)、颜色加深(Color Burn)
Pass through(图层组)穿透
Soft light,以及 GIMP 本来就按柔光绘制的旧版 Overlay柔光(Soft Light),有提示(GIMP 的公式略有不同)
HSV Hue、HSV Saturation、HSL Color、HSV Value、LCH Hue、LCH Chroma、LCH Color、LCH Lightness、Luminance色相、饱和度、颜色 或 明度(Hue、Saturation、Color、Luminosity),有提示(Photoshop 的这几个模式基于 HSL,结果会不一样)
Luma darken only、Luma lighten only深色(Darker Color)、浅色(Lighter Color),有提示
Behind、Grain extract、Grain merge、Color erase、Erase、Merge、Split正常(Normal),提示里会写出图层名

通道、选区和图像设置

XCF 里PhotoCraft 里
额外通道通道(Channels)面板里的 Alpha 通道
存储的选区当前选区
参考线参考线
ICC 配置文件文档的颜色配置文件(线性光文件除外,见上)
分辨率保留。垂直分辨率不同时,两个方向都用水平值,有提示
图像注释文档文字元数据里的一条“Comment”
路径不导入,提示里写明数量
其他 parasite(GIMP 用它保存 Exif、XMP 元数据)、取样点、网格直接跳过,没有提示

哪些带不过来,PhotoCraft 怎么告诉你

有内容被近似处理或者没导入时,文件照样会打开。状态栏会显示有几条警告,弹出的通知会逐条列出,并写明涉及哪些图层。命令行下,photocraft-cli convert 会把每条警告打印成一行 warning:,photocraft-cli info 则放在输出的 JSON 里。不管界面是什么语言,这些消息都是英文:

消息意思
is a text layer and opens as pixels(矢量图层、链接图层同理)看起来没变,但不能再当文字或路径编辑
has N layer effect(s) (non-destructive filters) that are not applied这个图层上的 GIMP 3 滤镜没有生效。需要的话,先在 GIMP 里把滤镜合并到图层
is a floating selection and was not imported (anchor it in GIMP first)在 GIMP 里锚定浮动选区,或者把它转成图层,再保存一次
uses GIMP's Grain merge mode, which opens as Normal这个模式在 Photoshop 里没有对应
N path(s) were not imported暂时不读路径。上游文档说路径以后可能会支持
GIMP composites this image in linear light; PhotoCraft composites in gamma-encoded RGB, so blends and soft edges differ slightly见为什么看起来和 GIMP 略有不同
N layer(s) use a mode GIMP clips to the layers beneath; …GIMP 的“Clip to backdrop”会让这些图层在下方透明的地方不显示,PhotoCraft 会显示
composites with Clip to layer, which is not reproduced(或 Intersection)这种 GIMP 合成模式没有还原
the indexed image opens as RGB需要的话,用 图像 › 模式 › 索引颜色(Image › Mode › Indexed Color)改回去
32-bit integer samples open as 16-bit多出来的精度丢了
XCF version N is newer than this reader …来自更新的 GIMP,打开后仔细检查一遍

为什么看起来和 GIMP 略有不同

上游文档列出了 GIMP 的三个默认行为,Photoshop 没有,PhotoCraft 也就没有:

  • 线性光。 从 2.10 起,GIMP 默认在线性光下混合大多数模式、合成各个图层。PhotoCraft 和 Photoshop 一样,在文档本身的编码下合成。上游测试中,不透明度 60% 的正片叠底图层在某个通道上最多差 38/255,抗锯齿文字的边缘像素最多差 73/255。如果在 GIMP 里把图层的混合空间和合成空间设成 RGB (perceptual),差别在 2.5/255 以内。
  • Clip to backdrop。 在 GIMP 里,除 Normal 以外的模式在下方图层透明的地方什么都不显示,PhotoCraft 会把图层显示出来。只有图像里有透明区域时才看得出差别。
  • 截断的先后顺序。 对 Addition、Subtract、Divide、Dodge、Burn 和 Linear light,GIMP 先乘上像素的透明度再截断,Photoshop 先截断。100% 不透明度下的不透明像素完全一致,半透明像素可能有差别。

混合模式表里标了“有提示”的近似模式,渲染结果也会不同。

怎么打开 XCF

  • 文件 › 打开…(Open…,Ctrl+O,macOS 上是 ⌘O)。文件类型菜单里有一项 GIMP,对应 .xcf 和 .xcf.gz。

  • 拖放。 拖到标签栏上,或者在没有打开文档时拖进窗口任意位置,会在新标签里打开。拖到已打开文档的画布上,则会像 Photoshop 一样置入那个文档。

  • 打开最近文件(Open Recent)和其他文件一样能用。

  • 命令行。 photocraft-cli convert 和 photocraft-cli info 都接受 .xcf 和 .xcf.gz:

    photocraft-cli info poster.xcf
    photocraft-cli convert poster.xcf poster.psd
    

    info 以 JSON 输出尺寸、模式、位深、图层树和警告。自动化服务器的 doc.open 和 MCP 工具用的也是同一个读取器,详见 MCP 与命令行。

  • 在线编辑器。 它运行的是 v0.16.0,文件 › 打开… 里列出了 .xcf 和 .xcf.gz,拖放也行。文件不会上传,而是在浏览器里读取。

打开的 XCF 没有可以写回的文件,所以 文件 › 保存(Save)也会像 另存为… 一样让你起个新名字。

把 XCF 转成 PSD

  1. 用 文件 › 打开… 打开 .xcf,或者把它拖进窗口。
  2. 看一下警告。如果文字、滤镜或浮动选区对你很重要,先回 GIMP 处理好(见常见问题)。
  3. 如果混合模式或柔和边缘很重要,和 GIMP 里的效果对比一下。细微差别的原因见上文。
  4. 想保留存储的选区,就用 选择 › 保存选区…(Select › Save Selection…)把它存成 Alpha 通道。PSD 里没有存放当前选区的地方。
  5. 选 文件 › 另存为…(Ctrl+Shift+S,⌘⇧S)。对 XCF 文档,对话框默认给出同名的 .psd,类型是 PSD Document。保存即可。
  6. 在 Photoshop 或要用它的软件里打开这个 PSD,确认没问题再删别的文件。

Photoshop 打开这个 PSD 后,能看到像素图层(包括原来的文字图层)、图层组、穿透图层组、图层蒙版(停用的仍是停用)、混合模式、不透明度、可见性、锁定、图层颜色、Alpha 通道、参考线、分辨率和颜色配置文件,位深为 8、16 或 32 位。GIMP 里没有 Alpha 通道的图层会显示 锁定透明像素。GIMP 的图像注释不会保存,PhotoCraft 会提示 free-form text metadata is not supported by PSD/PSB; it will be dropped。如果还要在 PhotoCraft 里继续编辑,另存一份 .pcraft:PhotoCraft 能保存的东西它都能完整保留。

整个文件夹的 XCF

桌面版最省事的是 文件 › 脚本 › 图像处理器…(File › Scripts › Image Processor…)。选好文件夹,格式设为 psd,宽度和高度保持 0 表示不改尺寸,确认输出文件夹(默认是一个 processed 文件夹),然后运行。也可以包含子文件夹。其中转换为 sRGB 的选项默认勾选,会把灰度文件转成 RGB,想保留灰度就取消勾选。

文件 › 自动化 › 批处理…(File › Automate › Batch…)也会处理 .xcf 和 .xcf.gz,但必须先在 动作(Actions)面板里选中一个动作,而且格式选 Same(相同)时每个 XCF 都会失败,因为 PhotoCraft 写不了 XCF。改选 psd 就行。

在终端里,可以用 photocraft-cli convert 逐个转换。convert 不会自动创建输出文件夹,要先建好:

# macOS、Linux
mkdir -p psd
for f in *.xcf; do photocraft-cli convert "$f" "psd/${f%.xcf}.psd"; done
# Windows PowerShell
New-Item -ItemType Directory -Force psd | Out-Null
Get-ChildItem *.xcf | ForEach-Object { photocraft-cli convert $_.FullName "psd\$($_.BaseName).psd" }

convert 不加 --in-place 就不会覆盖输入文件本身,这里每个输出都是另一个文件夹里的新 .psd,所以不受影响。不过目标位置已有的 .psd 会被直接替换、不会询问,想保留之前的结果,就输出到一个空文件夹。

别用 photocraft-cli batch 做这件事。v0.16.0 里它扫描文件夹时会漏掉 .xcf 文件,尽管上游的 XCF 文档把它列为支持的入口;而且它还需要一个动作文件。

XCF 转 PNG、JPEG、TIFF 或 OpenRaster

用 另存为… 选别的类型,或者 文件 › 导出 › 导出为…(File › Export › Export As…),也可以 photocraft-cli convert poster.xcf poster.png。各格式要注意:

  • PNG、JPEG、WebP: 合并成一张图,由 PhotoCraft 渲染,所以前面说的合成差异同样存在。JPEG 和 WebP 是 8 位,PNG 能保留 16 位。如果必须和 GIMP 逐像素一致,就在 GIMP 里导出 PNG。
  • TIFF: 默认是单层。要保留图层,在软件里询问时选择保留图层,命令行则加 --tiff-layers。
  • OpenRaster(.ora): 保留像素图层、图层组、名称、不透明度、可见性、锁定和混合模式。蒙版会应用到像素上,Alpha 通道、元数据以及 sRGB 以外的配置文件会被舍弃,灰度会变成 RGB,32 位浮点会变成 16 位。保存时 PhotoCraft 会逐项列出。

所有格式的对比见文件格式。

存回 GIMP

PhotoCraft 写不了 XCF,另存为… 里也没有这个选项。在命令行里存成 .xcf 会失败,提示 XCF is GIMP's own format and PhotoCraft only opens it; save as .pcraft to keep the layers, or export a flat image。要在 GIMP 和 PhotoCraft 之间来回编辑,就存一份 GIMP 能导入的分层文件:

格式适合什么情况GIMP 能得到什么
PSD需要图层蒙版、Alpha 通道、参考线或 16 位图层、图层组、蒙版和大部分混合模式。Photoshop 独有的东西(调整图层、图层样式、智能对象、可编辑文字)到了 GIMP 里留不住,重要的话先在 PhotoCraft 里栅格化
OpenRaster(.ora)只是一叠普通的像素图层和图层组图层、图层组、不透明度、可见性和混合模式,蒙版已经应用到像素上
PNG 或 TIFF只要最终成品一张合并后的图

上游用 Krita 测过 PhotoCraft 导出的 OpenRaster,但说明 GIMP 的文件“还没有验证过”,所以在 GIMP 里打开后检查一下图层。原来的 .xcf 留作 GIMP 的母版,PhotoCraft 永远不会改动它。

从 GIMP 转过来

PhotoCraft 学的是 Photoshop,不是 GIMP,有几个习惯要改:

  • 保存。 GIMP 只把 XCF 叫“保存”,其他格式都叫“导出”。PhotoCraft 的 另存为… 可以直接写 PSD、PNG、JPEG 等,文件 › 导出 里还有 导出为… 和 快速导出为 PNG(Quick Export as PNG)。在 PhotoCraft 里扮演 XCF 角色的无损原生格式是 .pcraft。
  • 工具。 工具按 Photoshop 的方式分组,快捷键也一样:V 移动工具、M 矩形选框工具、L 套索工具、W 魔棒工具、B 画笔工具、E 橡皮擦工具、T 横排文字工具、C 裁剪工具,Ctrl+T(⌘T)是 自由变换(Free Transform)。详见全部工具和快捷键速查,快捷键可以在 编辑 › 键盘快捷键…(Edit › Keyboard Shortcuts…)里改。
  • 图层的 Alpha 通道。 GIMP 的“添加 Alpha 通道”在这里没有对应命令。在 GIMP 里不透明的图层,打开后 锁定透明像素 是开着的。要擦成透明,先在 图层(Layers)面板里关掉这个锁定。
  • 模式名称。 Addition 叫 线性减淡(添加),Dodge 和 Burn 叫 颜色减淡 和 颜色加深,Darken only 和 Lighten only 叫 变暗 和 变亮。
  • 颜色转为 Alpha。 在 滤镜 › 其他 › 颜色转为 Alpha…(Filter › Other › Color to Alpha…),这是 PhotoCraft 少数几个 Photoshop 没有的滤镜之一。

更全面的比较,包括什么时候 GIMP 仍然是更好的选择,见 PhotoCraft 与 Photoshop、GIMP、Photopea 对比。

常见问题

提示“XCF: the file ends early (wanted 4 bytes at …)”。 如果后面的偏移量大得离谱,而且文件来自 GIMP 3.2,多半是因为文件里有链接图层:GIMP 写这个属性的长度时可能少写 4 个字节。v0.13.0 到 v0.15.1 遇到这种文件会失败,v0.16.0 能正常打开(#8857、#8865),请升级 PhotoCraft。升级后仍然失败的话,文件可能真的不完整,试试能不能在 GIMP 里打开。

提示“the canvas exceeds the 1 GiB pixel limit”或“the layers exceed the 1 GiB pixel limit”。 读取器会把所有图层、蒙版和通道解码成 32 位浮点,总量上限 1 GiB。带透明度的图层每像素 16 字节,不带的 12 字节,蒙版和通道 4 字节。所以画布最多约 6700 万像素(8192 × 8192),一张 4000 × 3000 的图大约只能放 5 个和画布一样大的透明图层。比画布小的图层占用更少。可以在 GIMP 里把图层裁到内容大小、删掉不用的图层或者合并一些,再保存。其他上限:每边 300,000 像素、8192 个图层、1024 个通道,图层组最多嵌套 64 层(更深的图层会移到顶层,并有提示)。

提示“unknown precision”“unknown compression”或“unknown layer type”。 文件用到了读取器所依据的规范之外的东西,或者已经损坏。在 GIMP 里打开再保存一次;还不行的话,带上样本文件向上游报告。

.xcf.bz2 或 .xcf.xz 打不开。 只认 gzip 压缩。先解压,或者在 GIMP 里存成 .xcf 或 .xcf.gz。

看起来和 GIMP 有点不一样。 通常是线性光、Clip to backdrop 或近似模式造成的,见上文的解释。想完全一致,就在保存前在 GIMP 里把相关图层的混合空间和合成空间设成 RGB (perceptual),或者把这些图层合并。

某个图层像是没加滤镜。 GIMP 3 的非破坏性滤镜不会应用。在 GIMP 里把滤镜合并到图层,再保存一次。

少了一个图层。 多半是浮动选区,它不会导入。在 GIMP 里锚定它,或者把它转成新图层。

文字不能编辑。 GIMP 的文字图层导入后是像素。需要改字的话,用 横排文字工具(Horizontal Type Tool,T)重新输入。

橡皮擦或颜色转为 Alpha 没法把像素变透明。 这个图层在 GIMP 里没有 Alpha 通道,所以打开后 锁定透明像素 是开着的。在图层面板里关掉锁定即可。颜色转为 Alpha 会直接拒绝处理锁定了透明度的图层。

批处理跳过了所有 XCF,或者全部失败。 photocraft-cli batch 扫描文件夹时不收 .xcf 文件,请改用 convert 循环。在 文件 › 自动化 › 批处理… 里,格式别选 Same。

更多帮助见故障排除。PhotoCraft 能读写的其他文件类型见文件格式。

相关指南

PhotoCraft 对比 Photoshop、GIMP 与 Photopea:一份客观的比较

PhotoCraft 与 Photoshop、GIMP、Photopea 逐项对比:价格、许可证、PSD 支持、AI、插件、自动化和成熟度,以及现在谁适合试用 PhotoCraft、谁还应该再等等。

PhotoCraft 怎么设置中文界面

PhotoCraft 官方版自带简体中文和繁體中文:在 编辑 › 首选项 › 界面 › 语言 中切换,无需重启。另附中文输入法、未翻译内容和翻译反馈说明。

PhotoCraft 快捷键大全

PhotoCraft 全部默认快捷键速查表,按 Windows、Linux 与 macOS 分列,涵盖各菜单命令、工具切换键与按住临时切换工具、文字格式键、画笔大小与硬度、数字键调不透明度、图层与通道切换,并说明如何自定义快捷键。

PhotoCraft 全部工具一览

PhotoCraft v0.16.0 全部 67 个工具一览:按工具栏分组列出每个工具的快捷键、用途和加入版本,并标出功能尚不完整的工具和仍缺少的 Photoshop 工具。

PhotoCraft 画笔与 Photoshop .abr 画笔文件

不装 Photoshop 也能用 Photoshop 画笔:在 PhotoCraft 里免费导入 .abr 文件,把图片变成画笔笔尖,并设置画笔设置面板、钢笔压力和画笔预设。

PhotoCraft 支持哪些文件格式

PhotoCraft 能打开和保存哪些文件:PSD/PSB、GIMP XCF、Affinity、Paint.NET、OpenRaster、Krita、SVG、HEIC、相机 RAW、TIFF、WebP、EXR、FITS、DPX、DDS 等,附位深、转 PSD 方法和网页版差异。

PhotoCraft 动作与 Photoshop .atn 动作文件

不装 Photoshop 也能用 Photoshop 动作:在 PhotoCraft 免费的动作面板里载入 .atn 文件,查看哪些步骤能播放,存回 .atn,再用批处理或命令行批量处理整个文件夹。

用 CLI 和 MCP 自动化 PhotoCraft

用 photocraft-cli 批量转换 PSD、套用动作;接入 PhotoCraft 开源 MCP 服务器,让 Claude Code、Claude Desktop、Cursor 等 AI 助手修图导出,文件访问限定在指定目录。

PhotoCraft 故障排除:闪退、安装与显示问题

PhotoCraft 启动闪退、显卡与 Wayland 兼容、数位板没有压感、文件无法保存、选中文字被删等常见问题的原因和解决办法,以及日志位置、重置设置和反馈 Bug 的方法。