cyrildiagne / Brightroom

πŸ“· A composable image editor using Core Image and Metal.

Home Page:https://www.notion.so/muukii/Brightroom-d4c59b37610a49de8a14131d24cd6162

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Brightroom - Composable image editor - building your own UI

Classic Image Editor PhotosCrop Face detection Masking component

πŸŽ‰ v2 now open!

βš’ 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

Installation

CocoaPods

pod 'Brightroom/Engine'
pod 'Brightroom/UI-Classic'
pod 'Brightroom/UI-Crop'

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/muukii/Brightroom.git", exact: "2.2.0")
]

License

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

FOSSA Status

About

πŸ“· A composable image editor using Core Image and Metal.

https://www.notion.so/muukii/Brightroom-d4c59b37610a49de8a14131d24cd6162

License:MIT License


Languages

Language:Swift 98.7%Language:Ruby 0.7%Language:Metal 0.3%Language:JavaScript 0.2%Language:Objective-C 0.1%Language:Makefile 0.0%