The Media Editor app is a versatile tool for editing photos, built with SwiftUI, CoreData, CoreGraphics, Swift Concurrency, CoreImage, PhotoKit and Combine frameworks. It empowers users to manipulate images with ease, offering a range of editing features.
- Project Management: Create and manage multiple projects.
- Layer Manipulation: Easily manipulate multiple layers within a project by relocating, resizing, rotating, and flipping them.
- Filters: Apply a wide range of filters to individual layers to enhance or modify their appearance.
- Cropping and Clipping: Crop layers to remove unnecessary parts of picture. Additionally, you can clip layers into various shapes such as ellipses or hexagons.
- Merging: Combine multiple layers into a single layer, simplifying your project.
- Magic Wand: Quickly select and manipulate specific areas of your image with the magic wand tool.
- Adding Text: Insert and customize text layers with various fonts, sizes, and colors.
- Background Editing: Resize the background canvas and change its color to suit your preferences.
- Auto-save Feature: Your progress is automatically saved to ensure you never lose your work.
- Undo/Redo: Seamlessly revert or reapply changes with the undo and redo feature.
- Exporting: Export the final edited media content in format of choice to your device's photo library.
Media-Editor-Preview-v.1.2.0-light.mp4
- Xcode 13.0+
- Swift 5.5+
- iOS/iPadOS 15.0+
- Clone the repository:
git clone https://github.com/lukaszbielawski/Media-Editor
- Open the project in Xcode.
- Build and run the app on a simulator or a physical device running iOS 15.0 or later.
- Launch the Media Editor app on your device.
- Click Plus icon to display a menu from which you can select images to start your project with.
- Slide the slider to create a new project with the currently selected images.
- Launch the Media Editor app on your device.
- Select the Three dots icon to open project options sheet.
- You can change the current title of the project.
- Create a new project or open an existing one to begin editing your media content.
- Alternatively, you may remove the project from the disk.
- When you first encounter a project, the initially selected layer will be displayed.
- Simply tap once on a layer to select it from the screen.
- A dedicated frame will appear, enabling relocation, resizing, rotation, and deletion.
- Tap once on a layer to select it from the screen.
- Select the Filters tool option from the toolbar.
- Explore a variety of filters available within the app to customize your media content.
- Adjust the slider to modify the filter settings if possible.
- A preview of the filter effect will be displayed.
- Press Checkmark icon to save your filter, or choose to go back to discard it.
- Tap once on a layer to select it from the screen.
- Select the Crop tool option from the toolbar.
- Drag the cropping frame to select the part of the image you want to retain.
- Resize the cropping frame to ensure that your crop size matches your desired dimensions.
- You can drag the slider to set a fixed aspect ratio for the cropping frame, allowing you to retain the aspect ratio when resizing the frame.
- You can change the clip shape from the default rectangle to other shapes such as ellipses or hexagons.
- Press the Checkmark icon to perform the crop, or choose to go back to discard it.
- Tap once on a layer to select it from the screen.
- Select the Background tool option from the toolbar.
- Customize the layer background color by choosing from a list of predefined colors or selecting a custom color using the system color picker.
- You can adjust the opacity value using the slider.
- A preview of the applied background color will be displayed.
- Press the Checkmark icon to save the background color change, or choose to go back to discard it.
- Tap once on a layer to select it from the screen.
- Select the Flip tool option from the toolbar.
- Select one of the two flipping options available, each corresponding to one axis.
- Tap once on a layer to select it from the screen.
- Select the Copy tool option from the toolbar.
- The layer will be copied and become active for further manipulation.
- Make sure that you do not have any layer selected, or deselect currently selected layer.
- Select the Add tool option from the toolbar.
- Click Plus icon to display a menu from which you can select images to add to your project.
- After selecting images, tap on the icon of the image to display it on the screen.
- Alternatively, you can press the Trash icon to remove it from the project.
- Make sure that you do not have any layer selected, or deselect currently selected layer.
- Select the Merge tool option from the toolbar.
- Select layers to merge by tapping them on the screen or choose from the list of available layers below.
- Slide the slider to execute the merge operation.
- Make sure that you do not have any layer selected, or deselect currently selected layer.
- Select the Resize tool option from the toolbar.
- Adjust the background canvas size by manipulating dedicated sliders or by entering specific dimensions into the provided text fields.
- Make sure that you do not have any layer selected, or deselect currently selected layer.
- Select the Background tool option from the toolbar
- Customize the background color by choosing from a list of predefined colors or selecting a custom color using the system color picker.
- You can adjust the opacity value using the slider.
- Tap the Undo icon located at top of the screen to revert the most recent action.
- Tap the Redo icon located at top of the screen to reapply the action that was previously undone.
- Please note that when you exit a project, the undo/redo history will be lost.
- Tap the Export labeled button located at the top right of the screen to export layers to a file.
- In the newly displayed view, you can see a preview of your artwork.
- You can choose an image format for exporting.
- You can select a smaller export size.
- Press the export button to export the final result to the device's photo library.
- You can continue editing a project.
Media-Editor by Łukasz Bielawski is licensed under CC BY-NC-ND 4.0