forked from FluidGroup/Brightroom
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Straightforward README updates * Update README.md More README cleanup!
- Loading branch information
1 parent
f435c54
commit ecc00e4
Showing
1 changed file
with
61 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,121 +1,104 @@ | ||
# Brightroom - Composable image editor - building your own UI | ||
<h1 align=center>Brightroom</h1> | ||
<p align=center><i>A full-featured composable image editor with a customizable UI -- all backed by the power of Metal.</i></p> | ||
<br/> | ||
|
||
| Classic Image Editor | PhotosCrop | Face detection | Masking component | | ||
| Image Editor | Photo Cropping | Face Detection | Masking | | ||
| --- | --- | --- | --- | | ||
| <img width=200px src="https://user-images.githubusercontent.com/1888355/112865486-c9154880-90f3-11eb-89eb-bc55f924f517.gif" /> | <img width=200px src=https://user-images.githubusercontent.com/1888355/112720381-4ea4c700-8f41-11eb-8ec3-2446518ded1b.gif /> | <img width=200px src=https://user-images.githubusercontent.com/1888355/112720303-cde5cb00-8f40-11eb-941f-c134368b87c5.gif /> | <img width=200px src=https://user-images.githubusercontent.com/1888355/112927084-6487d700-914f-11eb-86a5-28f9373285e6.gif /> | | ||
|
||
> [🎄**An open-sourced app built with Brightroom**](https://github.com/muukii/Drip.app) | ||
## Features | ||
|
||
## 🎉 v2 now open! | ||
|
||
> ⚒ Issues are managed in [v2 project](https://github.com/muukii/Brightroom/projects/2) | ||
- **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](https://instagram-engineering.com/bringing-wide-color-to-instagram-5a5481802d7d) | ||
- Support for [Super Large Photos™ (≤ 12000 pixels)](https://eoimages.gsfc.nasa.gov/images/imagerecords/78000/78314/VIIRS_3Feb2012_lrg.jpg). | ||
- 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. | ||
|
||
> 📌 Pixel has been renamed as **Brightroom** | ||
## Requirements | ||
|
||
> 📖 [Detailed documentations are available on here](https://www.notion.so/muukii/Brightroom-d4c59b37610a49de8a14131d24cd6162) | ||
| iOS Target | Xcode Version | Swift Version | | ||
|:---:|:---:|:---:| | ||
| iOS 12.0+ | Xcode 12.4+ | Swift 5.3+ | | ||
|
||
> 🎈 Wanted CoreImage and Metal professional! Please help us, we have issues that we don't know how to solve. (help wanted in Issues) | ||
## Support the Project | ||
Buy me a coffee or support me on [GitHub](https://github.com/sponsors/muukii?frequency=one-time&sponsor=muukii). | ||
|
||
> ⭐️ If you interested in v2, hit the **Star button** to motivate us! 🤠 | ||
<a href="https://www.buymeacoffee.com/muukii"> | ||
<img width=25% alt="yellow-button" src="https://user-images.githubusercontent.com/1888355/146226808-eb2e9ee0-c6bd-44a2-a330-3bbc8a6244cf.png"> | ||
</a> | ||
|
||
> 🪐 Brightroom's state management powered by [Verge](https://github.com/VergeGroup/Verge). | ||
## 🎉 v2 Now Available! | ||
There are a few important housekeeping notes for those coming from v1. | ||
|
||
> 💵 [Support me by one-time tier](https://github.com/sponsors/muukii?frequency=one-time&sponsor=muukii) | ||
- ⚒ Issues are managed in the [v2 Project](https://github.com/muukii/Brightroom/projects/2) | ||
- 📌 Pixel has been renamed **Brightroom**. | ||
- 📖 Detailed documentation is available [on Notion](https://www.notion.so/muukii/Brightroom-d4c59b37610a49de8a14131d24cd6162). | ||
- 🎈 **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](https://github.com/VergeGroup/Verge). | ||
|
||
## Support the project | ||
<a href="https://www.buymeacoffee.com/muukii"> | ||
<img width="545" alt="yellow-button" src="https://user-images.githubusercontent.com/1888355/146226808-eb2e9ee0-c6bd-44a2-a330-3bbc8a6244cf.png"> | ||
</a> | ||
## Installation | ||
|
||
**CocoaPods** | ||
|
||
## 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](https://instagram-engineering.com/bringing-wide-color-to-instagram-5a5481802d7d) | ||
- [Super large photo (12000px)](https://eoimages.gsfc.nasa.gov/images/imagerecords/78000/78314/VIIRS_3Feb2012_lrg.jpg) 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 | ||
```ruby | ||
pod 'Brightroom/Engine' | ||
pod 'Brightroom/UI-Classic' | ||
pod 'Brightroom/UI-Crop' | ||
``` | ||
|
||
## Requirements | ||
**Swift Package Manager** | ||
|
||
* Swift 5.3 (Xcode12.4+) | ||
* iOS 12+ | ||
```swift | ||
dependencies: [ | ||
.package(url: "https://github.com/muukii/Brightroom.git", upToNextMajor: "2.2.0") | ||
] | ||
``` | ||
|
||
## Detail Documentations | ||
# Documentation | ||
|
||
<b><a href="https://www.notion.so/muukii/Brightroom-d4c59b37610a49de8a14131d24cd6162">Documentations</a></b> | ||
View the [full documentation](https://www.notion.so/muukii/Brightroom-d4c59b37610a49de8a14131d24cd6162) on Notion. | ||
|
||
## Usage | ||
|
||
**PhotosCropViewController** | ||
|
||
```swift | ||
// Creating image provider | ||
let imageProvider: ImageProvider = .init(image: uiImage) // url, data supported. | ||
// Create an image provider | ||
let imageProvider = ImageProvider(image: uiImage) // URL, Data are also supported. | ||
|
||
// Creating view controller | ||
// Create a Photo Crop View Controller | ||
let controller = PhotosCropViewController(imageProvider: imageProvider) | ||
|
||
// Setting up handling after editing finished. | ||
// Set up handlers when editing finishes | ||
controller.handers | ||
``` | ||
|
||
## SwiftUI supported (beta) | ||
|
||
> Not sophisticated API. | ||
> Please help us 🤲 | ||
## SwiftUI Support (BETA) | ||
*The SwiftUI API is still in-progress and may not be production ready. We're looking for help! 🤲* | ||
|
||
```swift | ||
let editingStack: EditingStack | ||
|
||
SwiftUIPhotosCropView(editingStack: editingStack, onCompleted: { | ||
SwiftUIPhotosCropView(editingStack: editingStack) { | ||
let image = try! editingStack.makeRenderer().render().swiftUIImage | ||
|
||
}) | ||
} | ||
``` | ||
|
||
## Demo applications | ||
# 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](https://github.com/muukii/Drip.app). | ||
|
||
This repository contains a demo application. | ||
You can see many demonstrations of what Brightroom can perform and experiments in technology. | ||
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! | ||
|
||
||| | ||
|---|---| | ||
|<img width=200px src=https://user-images.githubusercontent.com/1888355/113339348-4bf10a00-9365-11eb-915b-dc9e54801fcd.PNG />|<img width=200px src=https://user-images.githubusercontent.com/1888355/113339357-4dbacd80-9365-11eb-80a5-53792b616360.PNG />| | ||
|
||
## Customization showcases | ||
|
||
| | | ||
| --- | | ||
| <img width=200px src="https://user-images.githubusercontent.com/1888355/112861131-7cc80980-90ef-11eb-9d43-8c706abeb9d5.png" /> | | ||
|
||
|
||
## Installation | ||
|
||
**CocoaPods** | ||
|
||
```ruby | ||
pod 'Brightroom/Engine' | ||
pod 'Brightroom/UI-Classic' | ||
pod 'Brightroom/UI-Crop' | ||
``` | ||
|
||
**Swift Package Manager** | ||
|
||
```swift | ||
dependencies: [ | ||
.package(url: "https://github.com/muukii/Brightroom.git", exact: "2.2.0") | ||
] | ||
``` | ||
|
||
## License | ||
# License | ||
|
||
Brightroom is available under the MIT license. See the LICENSE file for more info. | ||
|
||
# Status | ||
|
||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fmuukii%2FPixel?ref=badge_large) |