All Projects → GabrielLasso → drawim

GabrielLasso / drawim

Licence: MIT license
A simple drawing library in Nim, inspired by p5js

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to drawim

Sketch
Sketch have a lot of basic functions to develop a drawing app for iPhone. Anyone can easily create drawing iOS Application.
Stars: ✭ 229 (+246.97%)
Mutual labels:  drawing, draw
grafx2
Mirror of GrafX2. Official repo is on gitlab.
Stars: ✭ 108 (+63.64%)
Mutual labels:  drawing, draw
drawa-android
🎨 Drawing application for Android made easy
Stars: ✭ 16 (-75.76%)
Mutual labels:  drawing, draw
powerpaint
Kreative PowerPaint - Library and Application for Bitmap and Vector Image Editing
Stars: ✭ 27 (-59.09%)
Mutual labels:  drawing, draw
Maker.js
📐⚙ 2D vector line drawing and shape modeling for CNC and laser cutters.
Stars: ✭ 1,185 (+1695.45%)
Mutual labels:  drawing, draw
isometric
A lightweight JavaScript library, written in TypeScript to create isometric projections using SVGs
Stars: ✭ 53 (-19.7%)
Mutual labels:  drawing, draw
Drawing
Drawing and fill color
Stars: ✭ 37 (-43.94%)
Mutual labels:  drawing, draw
Sketchpad
Sketchpad is fully customisable collaborative whiteboard plugin written in pure JavaScript.
Stars: ✭ 85 (+28.79%)
Mutual labels:  drawing, draw
Mopaint
🎨💪 Modern, modular paint and more! (pre-alpha, not much done yet)
Stars: ✭ 50 (-24.24%)
Mutual labels:  drawing, draw
React Sketch
Sketch Tool for React-based applications, backed up by FabricJS
Stars: ✭ 414 (+527.27%)
Mutual labels:  drawing, draw
D2dlib
A .NET library for hardware-accelerated, high performance, immediate mode rendering via Direct2D.
Stars: ✭ 84 (+27.27%)
Mutual labels:  drawing, draw
Pencil.js
✏️ Nice modular interactive 2D drawing library
Stars: ✭ 204 (+209.09%)
Mutual labels:  drawing, draw
easy-drawing-board
🎨 a easy to use canvas-drawing lib
Stars: ✭ 32 (-51.52%)
Mutual labels:  drawing
Makelangelo Software
Software for plotters - especially the wall-hanging polargraph also called Makelangelo.
Stars: ✭ 248 (+275.76%)
Mutual labels:  drawing
drawingwithcode
Drawing with code 😘
Stars: ✭ 28 (-57.58%)
Mutual labels:  drawing
phaser3-plugin-pathbuilder
Draw and edit Lines, Bezier Curves, Splines at runtime, explore your scene and export your paths to Phaser
Stars: ✭ 67 (+1.52%)
Mutual labels:  draw
Swiftydraw
A simple, lightweight drawing framework written in Swift
Stars: ✭ 239 (+262.12%)
Mutual labels:  drawing
Gbox
🎨 A multi-platform graphic library
Stars: ✭ 216 (+227.27%)
Mutual labels:  drawing
Autocadcodepack
AutoCAD Code Pack: A powerful library that helps you to develop AutoCAD plugins using the AutoCAD .NET API
Stars: ✭ 207 (+213.64%)
Mutual labels:  drawing
DRAW
DRAW: The Dart Reddit API Wrapper
Stars: ✭ 82 (+24.24%)
Mutual labels:  draw

Drawim

A simple drawing library in Nim, inspired by p5js. Builds to native, using OpenGL, and to JavaScript, using HTML5 Canvas.

Usage

A simple example, to draw a rectangle:

import drawim

proc draw() =
  background(0)
  fill(255, 0, 0)
  translate(int(width / 2), int(height / 2))
  rectFill(-100,-100,100,100)

run(600, 400, draw, name = "Drawim example")

To run the example, you can either nim r example.nim or nim js example.nim and include the resulting js in an HTML file containing a div with id="Drawim example".

More examples can be found on examples/ folder.

Installation

Just install with numble by running

nimble install drawim

Features

  • Compiles to native and JS
  • 100% Nim code
  • Basic drawing
  • Read keyboard and mouse input
  • Limit the framerate
  • Rotate, translate and scale
  • Save transform state in a stack (see examples/tree.nim)
  • RGB and HSV colors
  • Bezier curves
  • Easy to extend and create new curves

To do:

  • Stroke weight
  • Sprites
  • Fonts
  • Unit tests

Documentation

You can find the full docs here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].