Kanvas is an open-source iOS library for adding effects, drawings, text, stickers, and making GIFs from existing media or the camera.
It is used in the Tumblr iOS app as a camera, media editor, GIF maker, and media posting tool.
Add this to your
pod 'Kanvas', :git => 'https://github.com/tumblr/kanvas-ios.git'
To show the camera:
let settings = CameraSettings() let camera = CameraController(settings: settings) present(camera, animated: true)
And to edit existing media, like a video:
let videoURL = URL(string: "path/to/video.mov") let settings = CameraSettings() let editor = EditorViewController.createEditor(for: videoURL, settings: settings) present(editor, animated: true)
Each view controller accepts a
CameraSettings object, which provides fine-grained settings and feature togges. Each view controller also has a
delegate property for providing your own handlers to creating media, performing editing operations, logging, or really anything else Kanvas can do.
Documentation is lacking at the moment, but contributions are welcome!
KanvasExample is an example app showing how to use Kanvas. Try it out!
cd KanvasExample; bundle exec pod install
- Run the app on a device.