blank-canvas alternatives and similar packages
Based on the "Graphics" category.
Alternatively, view blank-canvas alternatives based on common mentions on social networks and blogs.
-
reanimate
Haskell library for building declarative animations based on SVG graphics -
Gifcurry
๐ The open-source, Haskell-built video editor for GIF makers. -
implicit
A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation... -
threepenny-gui
GUI framework that uses the web browser as a display. -
GPipe
Core library of new GPipe, encapsulating OpenGl and providing a type safe minimal library -
diagrams
Embedded domain-specific language for declarative vector graphics (wrapper package) -
luminance
Type-safe, type-level and stateless Haskell graphics framework -
log-warper
Logging library to provide more convenient, extremely configurable but simple monadic interface with pretty output -
unm-hip
The University of New Mexico's Haskell Image Processing Library -
timeplot
Analyst's swiss army knife for visualizing data from ad-hoc log files -
processing-for-haskell
Graphics for kids and artists. Processing implemented in Haskell -
GLUtil
Utility functions for working with OpenGL BufferObjects, GLSL shaders, and textures. -
graphics-drawingcombinators
Combinators for drawing 2D shapes and images in Haskell (using OpenGL)
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of blank-canvas or a related project?
README
blank-canvas

Background
blank-canvas is a Haskell binding to the complete HTML5 Canvas API. blank-canvas allows Haskell users to write, in Haskell, interactive images onto their web browsers. blank-canvas gives the user a single full-window canvas, and provides many well-documented functions for rendering images.
First Example
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Graphics.Blank -- import the blank canvas
main = blankCanvas 3000 $ \ context -> do -- start blank canvas on port 3000
send context $ do -- send commands to this specific context
moveTo(50,50)
lineTo(200,100)
lineWidth 10
strokeStyle "red"
stroke() -- this draws the ink into the canvas
Running this program, and going to http://localhost:3000/ gives
For more details about this example, see Red Line.
Documentation
Link | Notes |
---|---|
Examples | Various complete examples of using blank-canvas |
Installation | How to install blank-canvas |
Hackage | Current release is 0.5 |
API | Discussion of API, compared with the original JavaScript API |
Canvas Examples | Transliterated from http://www.html5canvastutorials.com/ into Haskell and blank-canvas, with kind permission of Eric Rowell, author of the JavaScript HTML5 Canvas Tutorial. |
FAQ | F.A.Q. |
Other Links
Credits
Thank you to Eric Rowell, for allowing blank-canvas to base our Canvas examples on his JavaScript Canvas examples.
The "Haskell" picture is taken by Mandy Lackey, from link <http://www.flickr.com/photos/[email protected]/3776224595/.> This picture allows sharing, under the creative commons license.
*Note that all licence references and agreements mentioned in the blank-canvas README section above
are relevant to that project's source code only.