Skip to content

HTML Canvas

September 29, 2023
April 8, 2016

Javascript 2D Canvas Libraries - Google Sheets

Vanilla <canvas>

HTML Canvas 2D Context
Canvas tutorial - Web APIs | MDN
CanvasRenderingContext2D - Web APIs | MDN
HTMLCanvasElement - Web APIs | MDN

Franks laboratory - YouTube Canvas power god

HTML5 Canvas [Book]
HTML5 Canvas Tutorials
Working with the Canvas | kirupa.com
Canvas - Dive Into HTML5
A Gentle Introduction to Making HTML5 Canvas Interactive | simonsarris.com
Manipulating Pixels Using Canvas | CSS-Tricks
31 days of Canvas tutorials | CreativeJS

A 2d Viewport for Canvas | The Simple Part
video + canvas = magic | HTML5 Doctor
Drawing Pixels is Hard - PhobosLab

Best practices for interactive canvas elements
Optimizing canvas - Web APIs | MDN
HTML5 Canvas Optimization: A Practical Example
HTML5 Canvas: Performance and Optimization - ELEKS Labs
Improving HTML5 Canvas Performance - HTML5 Rocks
Optimize HTML5 canvas rendering with layering
Myths and realities of canvas - JavaScript performance - 2D - HTML5 Game Devs Forum

Why I no longer use D3.js. Every time I work on a project with… | by Paul Sweeney | Medium
window.devicePixelRatio allows zooming on canvas

[JSConfEU 2010] Ben Firshman: Lessons learnt pushing browsers to the limit - YouTube
Creative Coding with Vanilla JavaScript and HTML Canvas - YouTube Franks laboratory

Goodbye HTML. Hello Canvas! | JavaScript in Plain English
Goodbye HTML. Hello Canvas! | JavaScript in Plain English

AntV

G2 基础图表类库 - AntV
G6 - AntV
F2 - AntV

Paper.js

Paper.js
Paper.js Sketch Paper.js playground

EaselJS

EaselJS | A JavaScript library that makes working with the HTML5 Canvas element easy.
EaselJS v1.0.0 API Documentation : EaselJS
CreateJS/EaselJS: The Easel Javascript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier.

Konva

Konva - JavaScript 2d canvas library
Framework Demos | Konva - JavaScript 2d canvas library
konvajs/konva: Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.

Fork of KineticJS

oCanvas

oCanvas - Object-based canvas drawing

Fabric.js

Fabric.js Javascript Canvas Library
Demos — Fabric.js Javascript Canvas Library
Tutorial — Fabric.js Javascript Canvas Library

Introduction to Fabric.js: the Fun Stuff
Fabric.js common problems and their easy solutions - Scanova EngineeringFabric.js common problems and their easy solutions - Scanova Engineering
Fabric.js — Building a Canvas Library
Fabric.js @ Falsy Values

FabricJS Painter. source
Canvas with viewport example source
FabricJS Drawing source
leesei/fabricjs-test: Simple interactive canvas with Fabric.js

e2d

e2d.js — The Declarative Canvas View Layer — Medium
e2d/e2d: A Declarative Canvas Renderer

Sandpit

Sandpit - A playground for creative coding
sandpit/sandpit: â›± A playground for creative coding using JavaScript and the canvas element
sandpit/sandpit-create-react-app-demo: A super simple example of Sandpit in action

Tips and Tricks

Viewport

javascript - HTML5 Canvas camera/viewport - how to actally do it? - Stack Overflow
A 2d Viewport for Canvas | The Simple Part

Saving Canvas as Image

Gist: canvas.toDataURL(), create <a> with data as href, set file name and click link

gillyb/reimg: reimg - A javascript library for converting image formats provides save image feature, implements dynamic anchor idea here:
javascript - How To Save Canvas As An Image With canvas.toDataURL()? - Stack Overflow
concrete/concrete.js at master · ericdrowell/concrete toImage() and download()

javascript - Download Canvas as PNG in fabric.js giving network Error - Stack Overflow use canvas.toBlob() to handle large canvas