📷 A composable image editor using Core Image and Metal.
A full-featured composable image editor with a customizable UI -- all backed by the power of Metal.
Image Editor | PhotosCropRotating | Face Detection | Masking |
---|---|---|---|
EditingStack
.EditingStacks
manage editing history and render images. It’s like a headless browser!URL
.iOS Target | Xcode Version | Swift Version |
---|---|---|
iOS 15.0+ | Xcode 15.2+ | Swift 5.9+ |
Buy me a coffee or support me on GitHub.
There are a few important housekeeping notes for those coming from v1.
Swift Package Manager
dependencies: [
.package(url: "https://github.com/muukii/Brightroom.git", upToNextMajor: "2.2.0")
]
View the full documentation on Notion.
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
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!
Brightroom is available under the MIT license. See the LICENSE file for more info.