A composable image editor using Core Image and Metal
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
?
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.
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
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', '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.2.0")
]
License
Brightroom is available under the MIT license. See the LICENSE file for more info.