static-canvas alternatives and similar packages
Based on the "Graphics" category.
Alternatively, view static-canvas alternatives based on common mentions on social networks and blogs.
-
Gifcurry
๐ The open-source, Haskell-built video editor for GIF makers. -
reanimate
Haskell library for building declarative animations based on SVG graphics -
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. -
diagrams
Embedded domain-specific language for declarative vector graphics (wrapper package) -
GPipe
Core library of new GPipe, encapsulating OpenGl and providing a type safe minimal library -
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 -
timeplot
Analyst's swiss army knife for visualizing data from ad-hoc log files -
unm-hip
The University of New Mexico's Haskell Image Processing Library -
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)
InfluxDB - Power Real-Time Data Analytics at Scale
* 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 static-canvas or a related project?
README
static-canvas
A simple DSL for writing HTML5 Canvas in haskell and converting it
to Javascript. By static we mean non-interactive, so the parts of
the Canvas API that need to query the browser for run time information
like isPointInPath(x, y)
are not included. This turns out to be
a surprisingly small part of HTML5 Canvas.
Here is Hello static-canvas with fancy text.
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Graphics.Static
import Graphics.Static.ColorNames
text :: CanvasFree ()
text = do
font "italic 60pt Calibri"
lineWidth 6
strokeStyle blue
fillStyle goldenrod
textBaseline TextBaselineMiddle
strokeText "Hello" 150 100
fillText "Hello World!" 150 100
main :: IO ()
main = writeCanvasDoc "Text.html" 600 400 text
There are plenty of examples in Examples. Here is one more showing how to use pattern to fill a rectangle.
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Graphics.Static
pattern :: CanvasFree ()
pattern = do
img <- newImage "tile.png"
onImageLoad img $ do
ptn <- createPattern img Repeat
rect 0 0 400 400
fillStyle ptn
fill
main :: IO ()
main = writeCanvasDoc "Pattern.html" 400 400 pattern