刚爆火:创建 6 天冲到 4638 星,开源图像编辑器 Compositor 正在接管你的修图需求
刚爆火创建 6 天冲到 4638 星开源图像编辑器 Compositor 正在接管你的修图需求【免费下载链接】CompositorThe Photoshop alternative for Mac项目地址: https://gitcode.com/gh_mirrors/compos/Compositor2026 年 9 月中旬一个 macOS 原生的开源图像编辑器突然冲进 GitHub 日榜随后连续多日霸榜趋势话题创建仅 6 天便收获 4638 颗 Star。它叫 Compositor项目自述只有一句话——The Photoshop alternative for Mac。在 GIMP、Photopea、Krita 早已占据开源修图心智的今天一个 Swift 写就、仅支持 Apple silicon 的新项目凭什么爆火带着这个问题我翻完了这个仓库的全部源码。结论是Compositor 的热度不是营销的结果而是它把 Photoshop 的核心工作流、非破坏性编辑、AI 时代的文件格式和 macOS 原生体验拧成了同一件事。本文将结合社区情报与源码拆解它为何值得你关注以及它到底是怎么做到像素级对标 PS的。Swift 做壳、C 做像素一套被刻意拆成两层的架构Compositor 的工程结构一眼就能看出设计意图。UI 层是纯 SwiftSwiftUI AppKit全部位于 Compositor/UI 与 Compositor/Document 下而所有逐像素运算都下沉到 C 内核集中在 Compositor/Rendering 目录里。这是一条非常老派的路线——像 Photoshop 早期一样用最快的语言处理最重的循环用高级语言包一层好用的壳。看几个具体例子污点修复画笔选斑、取样、匹配纹理的算法实现在 HealPixels.c 里。它以环带包围选区用均方误差逐块评分寻找与修复区周边最匹配的补丁heal_score函数并拒绝一切会重叠或越界的候选。魔棒工具颜色容差匹配与连通域扫描在 WandPixels.c 中完成种子点附近取平均色作为参考色按容差扩散。它甚至为描边路径设了 800 万像素的边界上限防止超大选区把路径绘制拖垮。Camera Raw 调色白平衡、曝光、对比度、高光阴影、鲜艳度等一整套等级曲线全部逐像素实现在 AdjustPixels.h 声明的adjust_camera_raw中色彩平衡、黑白映射、颗粒、渐变映射也在同一份 C 代码里。内容感知填充ContentFill.swift 把选区蒙版与图像交给content_fill()这个 C 函数合成新的像素来填补被移除物体的区域失败时返回明确的错误提示选区内没有足够的未选中像素。而在合成渲染一侧Compositor 选择了 Metal。打开 GPUCanvas.swift文件头注释写得很直白Core Graphics 在 CPU 上逐层合成Retina 屏幕上一张全尺寸图层每帧大约要花 5 毫秒拖拽、平移、缩放时每一帧都在重复GPUCanvasRenderer 则把图层作为纹理留在 GPU 上一帧只做一次重新摆放。它还用了一个纹理缓存池——空闲 90 帧未使用的纹理会被释放系统内存告急时优先丢掉非当前帧的资源形成一套完整的显存/内存压力自适应策略。为了在大画布上保证流畅渲染层还叠加了平铺渲染TiledLayerRenderer.swift与多级降采样缓存DownsampleCache.swift笔划进行中的图层被切成 256 像素的小方块增量重建已提交的快照用 1024 像素大块缩小时先做锐利的 2 的幂次减半再交给 Core Graphics 完成最后一小步重采样既保证画质又不浪费算力。值得强调的是DocumentLimits.swift 把容量上限设计成了随内存缩放画布最长边 3 万像素整份文档的像素预算取物理内存的 1/4按 4 字节每像素折算下限不小于单个渲染表面2 亿像素上限封顶 8 亿像素。换句话说你的 Mac 有多大内存Compositor 就敢开多大的文档——这是原生应用才能给到的待遇。6 天 4638 星热度背后是需求缺口被精准命中这个项目的出圈轨迹几乎可以按天复盘9 月 20 日它登上 GitHub 日榜社区当日趋势速报将它与一批 AI 代理项目并列盘点9 月 22 日便有深度文章开始逐模块剖析它的图层系统、Metal/C 混合渲染管线、.project文档格式与自动化测试9 月 26 日主流技术社区给出100% 开源免费对标 Photoshop的定位热评。而它的 Star 数在创建第 6 天就冲到 4638 颗——作为对比绝大多数开源图像编辑项目需要数月甚至数年才能摸到这一量级。为什么是它社区讨论的答案高度集中在三点第一MIT 协议 免费商用。仓库 LICENSE 是标准的 MIT License版权归属 Wonder Assembly LLC。这意味着个人创作者可以拿去商用出图开发者可以拿去改造成自己的产品公司可以嵌入自己的管线全部零授权费。第二Photoshop 工作流的低迁移成本。README 里作者坦言Adobe Photoshop 太贵而 GIMP 等工具用起来不够顺手让他无法保持心流。于是 Compositor 把 Photoshop 的肌肉记忆整个搬了过来——完整按 Photoshop 顺序排列的混合模式、图层文件夹文件夹不透明度会压暗内部所有层、⌘E合并、⌘C/⌘V跨工程复制图层、Photoshop 式快捷键并可重映射、拖拽数字标签进行 scrubbing 取值。对从 PS 迁移过来的用户几乎零学习曲线。第三它真的能打开你的 PSD。社区里开源版 Adobe最大的槽点往往是复杂 PSD 打不开。Compositor 用一套先出转换报告、再执行导入的安全流程接住了这个痛点8-bit RGB 的 PSD/PSB 导入时文件夹、蒙版、混合模式、填充矩形/椭圆以及简单的横向文本都会保留为可编辑对象矢量与竖排文本则栅格化为像素——每一步都先告诉你会发生什么。三个与 Photoshop 拉开差距的细节热度能带来 Star但让用户留下的是下面这些在源码里经得起推敲的设计。1. 非破坏性编辑贯穿全程Compositor 的变换是非破坏性的图层无论缩得多小原始分辨率都保留在工程里README 原话images keep their full resolution however small you make them。图层效果描边、投影、内阴影、外发光、内发光由 GPU 实时渲染且可随时回改参数对应实现见 LayerEffectsSurface.swift调整图层色阶、曲线、色相/饱和度、曝光、渐变映射、颗粒、黑白、色彩平衡、反相、高斯模糊、动感模糊、噪点作为独立图层存在于图层栈中随时可重新编辑。这种非破坏性进一步延伸到画布操作Canvas Size 扩展画布、Image Size 重采样、Crop 裁剪都会保留未触及图层的数据与调整结构。2. 面向 AI 时代的工程文件格式Compositor 最超前的设计是它的工程格式.comp不是一个二进制大文件而是一个文件夹——manifest.json 一堆 PNG 图层。规范写在 docs/project-format.md从 1 到 11 的版本演进记录得非常细致v2 加图层组、v3 加不透明度与混合模式、v4 加蒙版、v7 加调整图层、v9 加邻域采样类调整高斯模糊/动感模糊/噪点、v10/v11 给文字图层加局部颜色与字体 runs。而 docs/writing-comp-files.md 则直接面向 AI 代理任何能写文件的脚本都可以按先写 PNG、再原子替换 manifest的规则实时修改一个打开中的工程Compositor 会在写入停止后约 0.3 秒内热重载画布。这意味着什么AI 绘图工具生成的是图片而 Compositor 生成的是一份可继续编辑的分层工程——AI 代理可以直接对用户的画布做一步一层的渐进式创作用户则拿到普通图层改不透明度、换混合模式、给蒙版补两笔、保存。这是 Claude Code 们协作画布的标准姿势也是传统图像编辑器从未提供过的原生接口。3. 原生级系统集成作为 Apple silicon 独占应用Compositor 把系统能力用到了极致选区工具里的主体选择Select Subject直接调用 Vision 框架的VNGenerateForegroundInstanceMaskRequest见 ObjectSelection.swift点一下即可把点击处的完整前景实例追踪为路径选区画布渲染走 Metal⌘F命令面板像 Raycast 一样检索全部菜单命令工程文件保存期间可继续操作异步原子保存导出走签名 公证 自动更新。对 macOS 创作者来说这些都是长在系统上的体验而不是移植软件的违和感。接下来值得关注的三个里程碑热度已经证明了需求存在但 Compositor 的挑战也肉眼可见接下来的走向取决于三个关口一是兼容性边界的扩展。目前 PSD 仅支持 8-bit RGB不支持 CMYK文本图层、智能对象会被栅格化。若要在Photoshop 替代品的叙事里走得更远CMYK 工作流与更完整的矢量保留是绕不开的硬仗。二是平台边界。项目明确要求 macOS 26.0 与 Apple silicon且当前只接受英文、拒绝本地化 PRREADME 明确说明这是单人维护的决定。这既是极致原生体验的来源也限制了它的用户盘子。当 4638 颗 Star 里混入大量 Windows/Linux 用户的期待时作者如何回应会是一个观察点。三是单人维护的可持续性。整个仓库的代码风格高度统一、注释密度惊人、CI 全量跑测试说明维护者工程素养极高但 README 也坦诚maintained by one person。当功能请求涌来、PSD 兼容性诉求升级时是引入协作者、还是守住一人一剑的边界将决定这个项目是成为下一个 GIMP 还是下一个昙花一现。无论结局如何Compositor 已经做对了一件事它证明免费开源的 Photoshop这道题除了 C 巨型单体还存在 Swift C Metal Vision 的原生解法——而且这个解法跑得飞快。对于想研究图像编辑器架构的人Compositor/Document 下的 60 多个模块就是一本活教材对于想真正摆脱 PS 订阅费的 Mac 创作者它已经值得你下载一试。【免费下载链接】CompositorThe Photoshop alternative for Mac项目地址: https://gitcode.com/gh_mirrors/compos/Compositor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

微信小程序开发框架选型与工程化架构实践指南

微信小程序开发框架选型与工程化架构实践指南

1. 项目概述:从一次小程序项目重构说起去年年中我接手了一个运营了大半年的微信小程序项目,第一件事就是看它的代码结构。结果一句话总结:页面目录下一堆.js文件,公共逻辑散落在各个页面里,请求层没有封装,…

2026/10/10 19:34:07 阅读更多 →
电器元件-倒顺开关

电器元件-倒顺开关

简介倒顺开关也叫顺逆开关,是一种手动控制开关,可让单相、三相电动机实现正转、停止、反转。应用场景小型吊车、卷扬机:控制上升和下降。卷帘门、升降设备:控制上行和下行。小型机床、输送设备:控制前进和后退。电气符…

2026/10/12 1:46:05 阅读更多 →
AI开发新宠:Loop Engineering 实战,用 TaoToken 统一 Key 让 Agent 自动循环任务效率飙升

AI开发新宠:Loop Engineering 实战,用 TaoToken 统一 Key 让 Agent 自动循环任务效率飙升

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 2:15:43 阅读更多 →

最新新闻

论文生成工具实测:9款AI辅助写作神器能做什么、不能做什么

论文生成工具实测:9款AI辅助写作神器能做什么、不能做什么

又到了毕业季,各大群里总是飘着“学霸同款论文工具”的分享,点进去一看,全是号称“一键生成”的写作神器。作为一个带过四届本科生写论文、自己也折腾过各种学术自动化工具的过来人,我必须先说一句实话:所谓“一键生成…

2026/10/12 5:56:29 阅读更多 →
RTX Spark首发落地:1Petaflop端侧算力,英伟达+微软联手打造Agent PC硬刚苹果M系列

RTX Spark首发落地:1Petaflop端侧算力,英伟达+微软联手打造Agent PC硬刚苹果M系列

10月7日,旧金山。微软Windows AI和Surface活动上,黄仁勋与纳德拉罕见同台。两人一起宣布了一件酝酿半年的产业事件:搭载英伟达RTX Spark超级芯片的笔记本即日起开放预购,10月16日开售;紧凑型桌面主机11月上市。图1&…

2026/10/12 5:56:29 阅读更多 →
涡流损耗是如何产生的?变压器铁芯发热的物理本质与工程对策

涡流损耗是如何产生的?变压器铁芯发热的物理本质与工程对策

1. 从一块发烫的铁芯说起:涡流损耗到底是什么搞电气的人几乎都遇到过这个场景:一台刚退下运行的变压器,你把手贴在铁芯上,明明绕组早就断电了,铁芯却烫得吓人。新入行的同事会问“是不是绕组还有电”,老师傅…

2026/10/12 5:56:29 阅读更多 →
物联网健康监测系统设计:树莓派网关与多模态传感器集成实战

物联网健康监测系统设计:树莓派网关与多模态传感器集成实战

简介:这份资料面向物联网与健康监测方向的开发者、学生及项目实践者,围绕“硬件采集—网关汇聚—云端处理—应用展示”的完整链路,提供一套可参考的系统设计素材,帮助理解物联网技术在远程健康管理中的落地方式。包内共845个文件&…

2026/10/12 5:56:29 阅读更多 →
微电网改进下垂控制Simulink仿真:虚拟阻抗与二次恢复实现详解

微电网改进下垂控制Simulink仿真:虚拟阻抗与二次恢复实现详解

先把结论放在前面:微电网里做并机控制,下垂控制是个绕不开的入门方案,但入门之后你很快就会撞上功率分配不均、频率电压偏移、线路阻抗敏感这三堵墙。这篇博文我来聊一种经过 Simulink 仿真验证的改进下垂控制实现思路,包含控制原…

2026/10/12 5:56:29 阅读更多 →
零成本AI副业:一条链接撬动第一桶金的完整实操

零成本AI副业:一条链接撬动第一桶金的完整实操

近两年"AI 副业"这四个字已经快被说烂了,各种动辄几千上万的训练营、私教课满天飞。但以我实操过十几个项目、在内容社区持续输出半年多的经验来看,AI 副业真正落地最稳的第一步,恰恰不是什么复杂系统,而是"一条链…

2026/10/12 5:55:29 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →