TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Canvas Drawing Library

16 pointsby marescaover 9 years ago
I'm currently testing out Canvas JS libraries. I'd like to build a simple paint type of web app using Canvas and JS. I'd like to be able to create layers, draw, erase, etc. I tested out PaperJS, but it seems PaperJS is more geared towards SVG and fails at erasing. What popular Canvas JS libraries is everyone using nowadays?

9 comments

doublerebelover 9 years ago
I prefer PixiJS (<a href="http:&#x2F;&#x2F;www.pixijs.com" rel="nofollow">http:&#x2F;&#x2F;www.pixijs.com</a>), it comes with a ton of primitives and renders efficiently even on mobile. I&#x27;ve created layered drag-and-drop webapps with Pixi, draw &amp; erase would not be much different.
angersockover 9 years ago
If you&#x27;re building something simple, why not just use the HTML5 Canvas API?<p>There&#x27;s no reason to overcomplicate things, and it&#x27;ll give you fine control over how things work and what you expect it to do. Layers and whatnot are pretty simple to implement a rough cut of, so why make things complicated?
评论 #10354858 未加载
lochlanover 9 years ago
I am a big fan of pixi.js (<a href="http:&#x2F;&#x2F;www.pixijs.com" rel="nofollow">http:&#x2F;&#x2F;www.pixijs.com</a>). I haven&#x27;t explored its &quot;erasing&quot; capabilities, but it is a great library for performant 2d graphics programming in the browser.
fgtxover 9 years ago
In simple cases like you described, you can always create your own. I&#x27;ve done something sorta like that in here: <a href="https:&#x2F;&#x2F;github.com&#x2F;felipegtx&#x2F;Raska" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;felipegtx&#x2F;Raska</a>
skuunk1over 9 years ago
If you have an ActionScript background, I highly recommend Easel JS.<p><a href="http:&#x2F;&#x2F;www.createjs.com&#x2F;easeljs" rel="nofollow">http:&#x2F;&#x2F;www.createjs.com&#x2F;easeljs</a>
jvanveenover 9 years ago
i really liked to use fabric.js(<a href="http:&#x2F;&#x2F;fabricjs.com" rel="nofollow">http:&#x2F;&#x2F;fabricjs.com</a>) for a small collaborative drawing tool(<a href="https:&#x2F;&#x2F;github.com&#x2F;wearespindle&#x2F;dotd" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wearespindle&#x2F;dotd</a>). It runs both on node.js and in the browser, has pretty awesome serialization options and has all batteries included in general.
Aaronneyerover 9 years ago
Check out LiterallyCanvas: <a href="http:&#x2F;&#x2F;literallycanvas.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;literallycanvas.com&#x2F;</a>
评论 #10355105 未加载
irenkaiover 9 years ago
I&#x27;ve allways been a fan of kineticJS (now Konva). Seems the most extensible and can handle a lot of objects.
gandydancerover 9 years ago
How about <a href="http:&#x2F;&#x2F;fabricjs.com" rel="nofollow">http:&#x2F;&#x2F;fabricjs.com</a>