• Stars
    star
    302
  • Rank 132,807 (Top 3 %)
  • Language
    Swift
  • License
    Mozilla Public Li...
  • Created over 3 years ago
  • Updated 24 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Kanvas: a creation tool for iOS

kanvy

Kanvas

Build status

Cocoapods

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.

Setup

Add this to your Podfile:

pod 'Kanvas', :git => 'https://github.com/tumblr/kanvas-ios.git'

And run:

pod install

Usage

Kanvas is mainly two parts: the Camera, and the Editor. Both are just view controllers that you present, and have settings and delegates that help you customize their behavior.

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!

Example App

Example is an example app showing how to use Kanvas. Try it out!

  1. Run cd Example; bundle exec pod install
  2. Open Example/KanvasExample.xcworkspace in Xcode
  3. Run the app on a device.

More Repositories

1

Backboard

A motion-driven animation framework for Android.
Java
1,690
star
2

Graywater

An Android library for decomposing RecyclerView layouts to improve scroll performance.
Java
1,207
star
3

colossus

I/O and Microservice library for Scala
Scala
1,143
star
4

jetpants

MySQL toolkit for managing billions of rows and hundreds of database machines
Ruby
1,134
star
5

pytumblr

A Python Tumblr API v2 Client
Python
718
star
6

tumblr.js

JavaScript client for the Tumblr API
JavaScript
633
star
7

collins

groovy kind of love
Scala
571
star
8

Bookends

A UI widget for adding headers and footers to RecyclerView
Java
538
star
9

Remember

A preferences-backed key-value store
Java
522
star
10

policy

Tumblr policies and guidelines
453
star
11

laphs

Apple Live Photo support on the web, courtesy of Tumblr
JavaScript
447
star
12

TMTumblrSDK

Unopinionated and flexible library for easily integrating Tumblr data into your iOS or OS X application.
Objective-C
429
star
13

tumblr.php

Tumblr API v2 PHP Client
PHP
406
star
14

k8s-sidecar-injector

Kubernetes sidecar injection service
Go
340
star
15

jumblr

Tumblr API v2 Java Client
Java
276
star
16

gocircuit

Go
238
star
17

genesis

A tool for data center automation
Ruby
156
star
18

docker-registry-pruner

Tool to apply retention logic to docker images in a Docker Registry
Go
126
star
19

data-lasso

JavaScript
119
star
20

docs

Tumblr's public platform documentation.
99
star
21

XExtensionItem

Easier sharing of structured data between iOS applications and share extensions
Objective-C
86
star
22

webpack-web-app-manifest-plugin

A webpack plugin that generates a PWA manifest and integrates with the assets JSON.
JavaScript
75
star
23

PermissMe

Java
74
star
24

k8s-secret-projector

Kubernetes Secret generation from secure credential repos
Go
72
star
25

k8s-config-projector

Create Kubernetes ConfigMaps from configuration files
Go
65
star
26

go-collins

Collins API Client in Go - https://tumblr.github.io/collins
Go
41
star
27

tumblrclient.go

This is a concrete implementation of the ClientInterface with additional convenience methods defined right on the client object
Go
41
star
28

tumblr.go

This is a library which provides structs and functions for accessing the Tumblr API
Go
37
star
29

JXHTTP

you know, for networking
Objective-C
26
star
30

Spectacles

A tiny library for parsing JSON podspecs.
Objective-C
23
star
31

gulp-css-hashes

JavaScript
18
star
32

tsd_proxy

Clojure
15
star
33

tumblr-repl

REPL for the Tumblr API, built on tumblr.js
JavaScript
11
star
34

collins_shell

Ruby
3
star
35

consolr

Ruby
1
star
36

chorus-timekeeper

DI with timekeeping.
PHP
1
star
37

collins_client

Ruby
1
star
38

collins_notify

Ruby
1
star
39

collins_auth

Ruby
1
star
40

slackr_archiver

Ruby
1
star