Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Compositor

Adobe Photoshop costs too much and tools like GIMP don’t feel familiar enough for me to stay in flow. That’s why I built Compositor.

The goal was to create a full-featured image editor that is completely free and open source. I use Photoshop for compositing and post-processing, so Compositor is built around that workflow - with the tools needed to create a pixel-perfect final image.

Because it’s open source, you can download the Xcode project and add, remove, or modify any feature to fit your workflow.

Features

Layers

  • Layers and folders, with blend modes and opacity — a folder's opacity dims everything inside it
  • Layer masks: paint, fill, invert, blur and feather them; link or unlink them to transform a mask on its own
  • Clipping masks and folder masks
  • Adjustment layers: Hue/Saturation, Levels, Curves, Exposure, Gradient Map and Grain
  • Layer effects: Stroke, Drop Shadow, Color Overlay, Inner Shadow and Outer Glow, rendered on the GPU and editable at any time
  • Merge Down, Merge Layers and Merge Group (⌘E)
  • Duplicate, rename inline, reorder and nest by drag and drop; Option-drag to duplicate
  • Drag layers between open projects

Transform

  • Non-destructive move, scale, rotate and flip — images keep their full resolution however small you make them
  • Free distort (⌘-drag a handle), with Shift to lock to an axis
  • Transform several layers, or a whole folder, together
  • Snapping to canvas and layer edges and centers, with guides
  • Exact values for position, size, scale and angle, stepped with the arrow keys
  • Flip Layer and Flip Canvas, horizontal and vertical

Selections

  • Rectangle and Ellipse Marquee, Freehand and Polygonal Lasso, and the Magic tool — Wand selects by color, Object traces whatever you click (Tab switches)
  • Select Subject, and Expand, Contract and Feather on any selection
  • Add to and subtract from selections, move the outline, or move and duplicate the pixels inside
  • Load a layer's pixels or a mask as a selection
  • Content-Aware Fill, which can also extend an image past its edges

Painting and retouching

  • Brush with size, hardness, opacity and smoothing, in Paint or Erase mode (B and E), and Shift for straight lines
  • Spot Healing Brush (content-aware)
  • Clone Stamp, aligned or not, sampling one layer or all of them
  • Blur tool, on pixels or masks
  • Gradient tool and Shape tool (rectangles, rounded rectangles, ellipses and lines), which stay editable rather than being rasterized
  • Type tool (T): inline multiline editing in draggable, resizable paragraph boxes; font, size, color, alignment and spacing in the tool header; transform text and use it as a clipping mask
  • Eyedropper and a full color picker

Adjustments and filters

  • Levels (with Auto), Curves, Hue/Saturation, Exposure, Gradient Map, Grain and Invert
  • Gaussian Blur and Motion Blur that spread past a layer's edges
  • Add Noise, Lens Correction and Remove Background
  • Live previews, limited to the selection when there is one

Canvas and files

  • Multiple projects in tabs
  • Rulers (⌘R), guides dragged from them, a layout grid, and Snap To for guides, grid, layers and document bounds
  • Crop with snapping, and Option for symmetric cropping
  • Canvas Size and Image Size
  • Sharp high-quality downsampling when zoomed out, and a pixel grid when zoomed in
  • Import JPEG, PNG, HEIC, TIFF and Photoshop PSD (8-bit RGB only; not PSB or CMYK). PSD folders, masks, a subset of blend modes, and fill rectangles/ellipses stay editable; text and other vectors become pixels. A conversion report is shown before anything is applied.
  • Export JPEG with a live preview (⇧⌥⌘S); Copy Merged
  • Photoshop-style keyboard shortcuts throughout, remappable in Edit > Keyboard Shortcuts
  • Automatic updates, signed and notarized

Requirements

  • macOS 26.5 or later
  • Xcode 26 or later (to build from source)

Building

Open Compositor.xcodeproj and run the Compositor scheme.

Releasing

scripts/release.sh builds a Release version, signs it with Developer ID, notarizes and staples it, and packages it into dist/Compositor-<version>.dmg.

It needs, all kept outside this repository:

  • a Developer ID Application certificate in the login keychain
  • notarization credentials saved with xcrun notarytool store-credentials "compositor-notary" …
  • create-dmg (brew install create-dmg)

License

MIT — see LICENSE.

关于 About

The Photoshop alternative for Mac

语言 Languages

Swift97.0%
C2.6%
Shell0.4%
Objective-C0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
95
Total Commits
峰值: 95次/周
Less
More

核心贡献者 Contributors