XUtils

Brightroom

An image editor and engine using CoreImage.


Requirements

iOS Target Xcode Version Swift Version
iOS 15.0+ Xcode 15.2+ Swift 5.9+

🎉 v2 Now Available!

There are a few important housekeeping notes for those coming from v1.

  • ⚒ Issues are managed in the v2 Project
  • 📌 Pixel has been renamed Brightroom.
  • 📖 Detailed documentation is available on Notion.
  • 🎈 Help Wanted: CoreImage and Metal professionals!
  • ⭐️ If you’re interested in v2, star the project to motivate us! 🤠
  • 🪐 Brightroom’s state management is now powered by Verge.

Documentation

View the full documentation on Notion.

Built-In UI

BrightroomUIPhotosCrop.PhotosCropRotation

import SwiftUI
import BtightroomUIPhotosCrop

struct DemoCropView: View {

  @StateObject var editingStack: EditingStack
  @State var resultImage: ResultImage?

  init(
    editingStack: @escaping () -> EditingStack
  ) {
    self._editingStack = .init(wrappedValue: editingStack())
  }

  var body: some View {
    ZStack {

      VStack {
        PhotosCropRotating(editingStack: { editingStack })

        Button("Done") {
          let image = try! editingStack.makeRenderer().render().cgImage
          self.resultImage = .init(cgImage: image)
        }
      }
    }
    .onAppear {
      editingStack.start()
    }
  }

}

ClassicEditor

PixelEditViewController

Demo & Full App

There is an entire open-source and production-ready app available on the App Store that uses Brightroom. It’s called Drip.

This repository also contains a demo app which demonstrates what Brightroom can perform and showcases some easy experiments. Clone this repo and build the project to try it out!

Status

FOSSA Status


Articles

  • coming soon...