/Brightroom

📷 A composable image editor using Core Image and Metal.

Primary LanguageSwiftMIT LicenseMIT

Brightroom - Composable image editor - building your own UI

Classic Image Editor PhotosCrop Face detection Masking component

🎉 v2.0.0-alpha now open!

💥 v2.0.0 development is still early development. We have a lot of known issues.

⚒ Issues are managed in v2 project

📌 Pixel has been renamed as Brightroom

📖 Detailed documentations are available on here

🎈 Wanted CoreImage and Metal professional! Please help us, we have issues that we don't know how to solve. (help wanted in Issues)

⭐️ If you interested in v2, hit the Star button to motivate us! 🤠

🪐 Brightroom's state management powered by Verge.

💵 Please Support me to implement the next feature.

Brightroom v2 provides the following features:

  • Components are built separately and run standalone using an EditingStack.
  • Create your own image editor UI by composing components.
  • EditingStack manages the history of editing and renders images. It's like a headless browser.
  • Headless rendering with using EditingStack
  • Wide color editing supported
  • Super large photo (12000px) supported (But exporting takes so long time for now.)
  • Blazing fast previewing by Metal power.
  • Drawing supported - masking blurry
  • Creating your own filter with LUT
  • Opening the image from URL
  • Supported UIKit and SwiftUI
  • Downloading image supported

Requirements

  • Swift 5.3 (Xcode12.4+)
  • iOS 12+

Detail Documentations

Documentations

Usage

PhotosCropViewController

// Creating image provider
let imageProvider: ImageProvider = .init(image: uiImage) // url, data supported.

// Creating view controller
let controller = PhotosCropViewController(imageProvider: imageProvider)

// Setting up handling after editing finished.
controller.handers

SwiftUI supported (beta)

Not sophisticated API.
Please help us 🤲

let editingStack: EditingStack

SwiftUIPhotosCropView(editingStack: editingStack, onCompleted: {
  let image = try! editingStack.makeRenderer().render().swiftUIImage
  
})

Demo applications

This repository contains a demo application.
You can see many demonstrations of what Brightroom can perform and experiments in technology.

Customization showcases

Tinder

Installation

CocoaPods

pod 'Brightroom/Engine', '2.0.0-alpha.8'
pod 'Brightroom/UI-Classic', '2.0.0-alpha.8'
pod 'Brightroom/UI-Crop', '2.0.0-alpha.8'

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/muukii/Brightroom.git", exact: "2.0.0-alpha.2")
]

License

Brightroom is available under the MIT license. See the LICENSE file for more info.

FOSSA Status