blank-canvas: HTML5 Canvas Graphics Library

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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 #-}
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]

Properties

Versions 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.5, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.7.1, 0.7.2, 0.7.3
Change log Changelog.md
Dependencies aeson (>=0.7 && <0.9), base (>=4.3.1 && <4.8), base64-bytestring (==1.0.*), bytestring (==0.10.*), colour (>=2.2 && <3.0), containers (==0.5.*), data-default-class (==0.0.*), http-types (==0.8.*), kansas-comet (==0.3.*), scotty (>=0.8 && <0.10), stm (>=2.2 && <2.5), text (>=1.1 && <1.3), transformers (>=0.3 && <0.5), vector (==0.10.*), wai (==3.*), wai-extra (>=3.0.1 && <3.1), warp (==3.*) [details]
License BSD-3-Clause
Copyright Copyright (c) 2014 The University of Kansas
Author Andy Gill and Ryan Scott
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-09-20T03:27:45Z

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for blank-canvas-0.5

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