Swiftpack.co - muukii/Brightroom as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by muukii.
muukii/Brightroom 2.6.2
πŸ“· A composable image editor using Core Image and Metal.
⭐️ 2,676
πŸ•“ 5 weeks ago
iOS
.package(url: "https://github.com/muukii/Brightroom.git", from: "2.6.2")

Brightroom

A full-featured composable image editor with a customizable UI -- all backed by the power of Metal.


Image Editor Photo Cropping Face Detection Masking
<img style="max-width:100%;" width=200px src=https://user-images.githubusercontent.com/1888355/112720381-4ea4c700-8f41-11eb-8ec3-2446518ded1b.gif?raw=true /> <img style="max-width:100%;" width=200px src=https://user-images.githubusercontent.com/1888355/112720303-cde5cb00-8f40-11eb-941f-c134368b87c5.gif?raw=true /> <img style="max-width:100%;" width=200px src=https://user-images.githubusercontent.com/1888355/112927084-6487d700-914f-11eb-86a5-28f9373285e6.gif?raw=true />

Features

  • Create your own image editor UI by composing components.
    • Components are built separately and run standalone using an EditingStack.
    • EditingStacks manage editing history and render images. It's like a headless browser!
  • Edit and render using P3 Wide Color Gamut
  • Support for Super Large Photosβ„’ (≀ 12000 pixels).
  • Previews and rendering backed with the power of Metal.
  • Create custom-drawn masks on photos.
  • Drop-in support for your own custom filters using LUTs.
  • Load and download remote images for editing with a URL.
  • Support for both UIKit and SwiftUI.

Requirements

iOS Target Xcode Version Swift Version
iOS 12.0+ Xcode 12.4+ Swift 5.3+

Support the Project

Buy me a coffee or support me on GitHub.

yellow-button

πŸŽ‰ 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.

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", upToNextMajor: "2.2.0")
]

Documentation

View the full documentation on Notion.

Usage

PhotosCropViewController

// Create an image provider
let imageProvider = ImageProvider(image: uiImage) // URL, Data are also supported.

// Create a Photo Crop View Controller
let controller = PhotosCropViewController(imageProvider: imageProvider)

// Set up handlers when editing finishes
controller.handers

SwiftUI Support (BETA)

The SwiftUI API is still in-progress and may not be production ready. We're looking for help! 🀲

let editingStack: EditingStack

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

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!

License

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

Status

FOSSA Status

GitHub

link
Stars: 2676
Last commit: 2 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

2.6.2
5 weeks ago

What's Changed

Full Changelog: https://github.com/muukii/Brightroom/compare/2.6.1...2.6.2

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics