GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - wordpress-mobile/MediaEditor-iOS: Easy add image editing features to your iOS app! 🖼️

BranchesTags
Open more actions menu

Latest commit

 

History

258 Commits
258 Commits

Folders and files

NameName
Last commit message
Last commit date
.buildkite
.buildkite
 
 
.bundle
.bundle
 
 
.github
.github
 
 
Example
Example
 
 
MediaEditor.xcodeproj
MediaEditor.xcodeproj
 
 
Sources
Sources
 
 
Tests
Tests
 
 
fastlane
fastlane
 
 
.gitignore
.gitignore
 
 
.rubocop.yml
.rubocop.yml
 
 
.ruby-version
.ruby-version
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Gemfile
Gemfile
 
 
Gemfile.lock
Gemfile.lock
 
 
LICENSE
LICENSE
 
 
Package.swift
Package.swift
 
 
README.md
README.md
 
 
RELEASE-NOTES.txt
RELEASE-NOTES.txt
 
 

Repository files navigation

MediaEditor

CircleCI Carthage compatible

MediaEditor is an extendable library for iOS that allows you to quickly and easily add image editing features to your app. You can edit single or multiple images, from the device's library or any other source. It has been designed to feel natural and part of the OS.

Features

  • PHAsset support
  • Editing of Plain UIImage
  • Editing of remote images
  • Single media support
  • Multiple media support
  • Editing in both portrait and landscape modes
  • Cool filters
  • Crop, zoom and rotate capability (thanks to TOCropViewController)
  • PencilKit support to annotate images
  • Easily extendable
  • Customizable UI

Usage

Using MediaEditor is very simple, just give it the media and present from a ViewController:

let assets: [PHAsset] = [asset1, asset2, asset3]
let mediaEditor = MediaEditor(assets)
mediaEditor.edit(from: self, onFinishEditing: { images, actions in
    // images contains the returned images, edited or not
    // actions contains the actions made during this session
}, onCancel: {
    // User canceled
})

This presents the MediaEditor from the ViewController with a callback that is called when the user is finished editing.

You can easily determine if an image has been edited by checking the isEdited property of the objects returned in the images array.

You can initialize the MediaEditor with a single or an array of: PHAsset, UIImage or any other entity that conforms to AsyncImage.

More Examples

Check the Example app for even more ways to use the MediaEditor:

  • Device Library: Edit media from the device library and output them in a UICollectionView
  • Remote Image: Edit media that is remotely hosted by conforming to the AsyncImage protocol and downloading high-quality images only when needed.
  • Plain UIImage: Editing plain UIImage's
  • Extending the MediaEditor capability by adding your own brightness extension

Requirements

  • iOS 15.0+
  • Swift 5

Installation

Swift Package Manager

Add MediaEditor as a package dependency:

dependencies: [
    .package(url: "https://github.com/wordpress-mobile/MediaEditor-iOS.git", from: "1.3.0")
]

Then add MediaEditor to your target dependencies:

targets: [
    .target(
        name: "YourTarget",
        dependencies: [
            .product(name: "MediaEditor", package: "MediaEditor-iOS")
        ]
    )
]

Manual Installation

To install manually copy the Sources/ folder to your project and follow the steps to manual install TOCropViewController too.

Contributing

Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.

Getting in Touch

If you have questions about getting setup or just want to say hi, join the WordPress Slack and drop a message on the #mobile channel.

Author

WordPress, [email protected]

License

MediaEditor is available under the GPL license. See the LICENSE file for more info.

About

Easy add image editing features to your iOS app! 🖼️

Resources

Readme
GPL-2.0 license

Contributing

Contributing
Activity
Custom properties

Stars

52 stars

Watchers

7 watching

Forks

6 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.