blank-canvas: HTML5 Canvas Graphics Library

[ bsd3, graphics, library ] [ Propose Tags ]

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.

{-# LANGUAGE OverloadedStrings 125;
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

For more details, read the blank-canvas wiki.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.2.0, 0.2.0.1, 0.2.2, 0.2.3, 0.2.3.1, 0.2.3.2, 0.3.1, 0.4.0, 0.5, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.7.1, 0.7.2, 0.7.3, 0.7.4
Dependencies aeson (>=0.7 && <0.8), base (>=4.3.1 && <4.8), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.6), http-types (>=0.8 && <0.9), kansas-comet (>=0.3 && <0.4), network (>=2.4 && <2.6), scotty (>=0.8 && <0.9), stm (>=2.2 && <2.5), text (>=1.1 && <1.2), transformers (>=0.3 && <0.5), vector (>=0.10 && <0.11), wai (>=3 && <4), wai-extra (>=3 && <4), warp (>=3 && <4) [details]
License BSD-3-Clause
Copyright Copyright (c) 2014 The University of Kansas
Author Andy Gill
Maintainer andygill@ku.edu
Category Graphics
Home page https://github.com/ku-fpg/blank-canvas/wiki
Bug tracker https://github.com/ku-fpg/blank-canvas/issues
Source repo head: git clone git://github.com/ku-fpg/blank-canvas.git
Uploaded by AndyGill at 2014-06-21T05:33:39Z
Distributions LTSHaskell:0.7.4, NixOS:0.7.4, Stackage:0.7.4
Reverse Dependencies 5 direct, 26 indirect [details]
Downloads 20281 total (81 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]

Readme for blank-canvas-0.4.0

[back to package description]

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

images/Red_Line.png

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.4.0
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.

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/77649176@N00/3776224595/.> This picture allows sharing, under the creative commons license.