MijickCamera/README.md

227 lines
7.5 KiB
Markdown

<!--Hero Image-->
<p align="center">
<picture>
<img alt="MijickCamera Hero" src="https://github.com/Mijick/Assets/blob/main/Camera/hero.png" width="100%">
</picture>
</p>
<!--Text Header-->
<p>
<h3 align="center">Camera made simple</h3>
<p align="center">Significantly reduces implementation time and effort. Keeps your code clean.</p>
</p>
<!--Links: Demo, Wiki, Roadmap-->
<p align="center">
<a href="https://link.mijick.com/camera-demo" rel="nofollow"><b>Try demo we prepared</b></a>
|
<a href="https://link.mijick.com/camera-wiki" rel="nofollow"><b>Framework documentation</b></a>
|
<a href="https://link.mijick.com/camera-roadmap" rel="nofollow"><b>Roadmap</b></a>
</p>
<br>
<!--Labels-->
<p align="center">
<img alt="Labels" src="https://github.com/Mijick/Assets/blob/main/Camera/labels.svg"/>
</p>
<br>
<!--GIFs-->
<table>
<thead>
<tr>
<th>Camera Position</th>
<th>Media Capturing</th>
<th>Gestures</th>
<th>Filters</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="https://github.com/Mijick/Assets/blob/main/Camera/Gifs/Camera-1.gif"/>
</td>
<td>
<img src="https://github.com/Mijick/Assets/blob/main/Camera/Gifs/Camera-2.gif"/>
</td>
<td>
<img src="https://github.com/Mijick/Assets/blob/main/Camera/Gifs/Camera-3.gif"/>
</td>
<td>
<img src="https://github.com/Mijick/Assets/blob/main/Camera/Gifs/Camera-4.gif"/>
</td>
</tr>
</tbody>
</table>
<br><br>
<!--Buttons-->
<p>
<!--Website-->
<a href="https://link.mijick.com/app">
<img alt="Visit our Website" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/website.png" height="40px">
</a>
<!--Discord-->
<a href="https://link.mijick.com/discord">
<img alt="Join us on Discord" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/discord.png" height="40px">
</a>
<!--Linkedin-->
<a href="https://link.mijick.com/linkedin">
<img alt="Follow us on LinkedIn" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/linkedin.png" height="40px">
</a>
<!--GitHub-->
<a href="https://link.mijick.com/github">
<img alt="See our other frameworks" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/github.png" height="40px">
</a>
<!--Medium-->
<a href="https://link.mijick.com/medium">
<img alt="Read us on Medium" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/medium.png" height="40px">
</a>
<!--Buymeacoffee-->
<a href="https://link.mijick.com/buymeacoffee">
<img alt="Buy us a coffee" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/buymeacoffee.png" height="40px">
</a>
</p>
<!--Features-->
# ✨ Features
<table><tbody>
<tr>
<td>🙏🏻</td>
<td>Automatically handles permissions</td>
</tr>
<tr>
<td>🖼️</td>
<td>Image capture</td>
</tr>
<tr>
<td>🎬️</td>
<td>Video capture (with or without sound)</td>
</tr>
<tr>
<td>📸</td>
<td>Camera position changes</td>
</tr>
<tr>
<td>🔍️</td>
<td>Supports manual zoom</td>
</tr>
<tr>
<td>👁️</td>
<td>Supports manual focus</td>
</tr>
<tr>
<td>🎞️</td>
<td>Changeable frame rate</td>
</tr>
<tr>
<td>📺️</td>
<td>Changeable camera resolution</td>
</tr>
<tr>
<td>🙈</td>
<td>Camera filters</td>
</tr>
<tr>
<td>🔦</td>
<td>Torch</td>
</tr>
<tr>
<td>📸</td>
<td>Flash</td>
</tr>
<tr>
<td>⏱️</td>
<td>Other camera settings (exposure duration, target bias, ISO, HDR mode and more)</td>
</tr>
<tr>
<td>☢️</td>
<td>Displays error screen if permissions are not granted</td>
</tr>
<tr>
<td>🖼️</td>
<td>Displays captured media screen</td>
</tr>
<tr>
<td>📱</td>
<td>Modern and minimalistic UI</td>
</tr>
<tr>
<td>🕺</td>
<td>Beautiful animations</td>
</tr>
<tr>
<td>🚧</td>
<td>Fully customizable screens</td>
</tr>
<tr>
<td>🤏🏼</td>
<td>Gestures support</td>
</tr>
<tr>
<td>📲</td>
<td>Blocks screen orientation change</td>
</tr>
<tr>
<td>⚡️</td>
<td>Supports Swift 6</td>
</tr>
<tr>
<td>🚀</td>
<td>... and others</td>
</tr>
</tbody></table>
<!--Description-->
# ☀️ Why MijickCamera?
The main problem we wanted to solve was the complexity of implementing camera into Swift projects; to get a camera view, you either have to accept a number of trade-offs or spend hours wrestling with the complexity of the AVKit framework. Here is why we think we have successfully solved the problem:
<p>
<h3>The power of simplicity</h3>
<p>Thanks to a modern and minimalistic UI and a thoughtfully designed public API, the most common use cases can be solved with just a few lines of code.</p>
<img alt="Code Example 1" src="https://github.com/Mijick/Assets/blob/main/Camera/Code/power-of-simplicity.png" width="100%">
</p>
<p>
<h3>Three in one</h3>
<p>MCamera contains three screens - Error Screen, Captured Media Screen and Camera Screen - making the process of handling camera states super easy. Moreover, MijickCamera automatically manages the entire workflow, from requesting camera permissions to displaying the results of camera captures!</p>
<img alt="Code Example 4" src="https://github.com/Mijick/Assets/blob/main/Camera/Code/three-in-one.png" width="100%">
</p>
<p>
<h3>Engineered for limitless creativity</h3>
<p>Every application is a special one, and we at Mijick know this very well, thus we have given you the possibility to customize each of the three screens that constitute MCamera.</p>
<img alt="Code Example 1" src="https://github.com/Mijick/Assets/blob/main/Camera/Code/limitless-creativity.png" width="100%">
</p>
### There is much more besides:
- Advanced camera controls.
- Gesture support.
- Thoroughly designed animations.
- Supports Swift 6.0.
- ... and much more.
<!--Documentation-->
# 🚀 How to use it?
Visit the framework's [documentation page](https://link.mijick.com/camera-wiki) to learn how to integrate your project with **MijickCamera**.
<!--Community-->
# 🍀 Community
Join the welcoming community of developers on [Discord](https://link.mijick.com/discord).
<!--Contribution-->
# 🌼 Contribute
To contribute a feature or idea to **MijickCamera**, create an [issue](https://github.com/Mijick/Camera/issues/new?assignees=FulcrumOne&labels=state%3A+inactive%2C+type%3A+feature&projects=&template=🚀-feature-request.md&title=%5BFREQ%5D) explaining your idea or bring it up on [Discord](https://discord.com/invite/dT5V7nm5SC). <br>
If you find a bug, please create an [issue](https://github.com/Mijick/Camera/issues/new?assignees=FulcrumOne%2C+jay-jay-lama&labels=state%3A+inactive%2C+type%3A+bug&projects=&template=🦟-bug-report.md&title=%5BBUG%5D). <br>
If you would like to contribute, please refer to the [Contribution Guidelines](https://github.com/Mijick/Camera/blob/main/.github/CONTRIBUTING.md).
<!--Sponsorship-->
# 💜 Sponsor our work
Support our work by [becoming a backer](https://link.mijick.com/buymeacoffee).